ajax随笔

来源:互联网 发布:小茶一丛 知乎 编辑:程序博客网 时间:2024/06/05 15:47

 如果XMLHttpRequest调用的页面不是有效的XML(譬如不是明文),上面的代码行:

  1. var http_request = false
  2. function makeRequest(url) { 
  3.     http_request = false
  4.     if (window.XMLHttpRequest) { // Mozilla, Safari,... 
  5.         http_request = new XMLHttpRequest(); 
  6.         if (http_request.overrideMimeType) { 
  7.             http_request.overrideMimeType('text/xml'); 
  8.     } 
  9.     } else if (window.ActiveXObject) { // IE 
  10.     try { 
  11.             http_request = new ActiveXObject("Msxml2.XMLHTTP"); 
  12.     } catch (e) { 
  13.             try { 
  14.             http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
  15.         } catch (e) {} 
  16.         } 
  17.     } 
  18.     //detail...
  19. }

http_request.overrideMimeType('text/xml');就会导致Firefox 1.5b里面出现Javascript 控制台错误信息.如果浏览器上出现了"语法错误"或者"不规范的错误",而且不是试图从XMLHttpRequest加载XML页面,请从代码中删除该行。

 

 

另外,如果把请求发送到将返回XML的一段代码,而不是发送到静态的XML文件,要是页面在Mozilla和IE浏览器中都能正常工作,就必须设置一些响应头.如果没有设置头:"Content-Type: application/xml",IE会在试图访问XML元素的那一行后面抛出Javascript错误:"Object Expected".如果没有设置头:"Cache-Control: no-cache",浏览器就会缓存响应,永远不会重新提交请求.这样一来,调试起来就会难度很大.

原创粉丝点击