日期:2014-05-16  浏览次数:20773 次

Chrome下XMLHttpRequest无法获得asp.net返回的xml数据 - Web 开发 / Ajax
asp.net 中有一段代码:
-----------------
C# code

Response.ContentEncoding = System.Text.Encoding.UTF8;
string xmls = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n";
xmls += "<apps>\r\n";
xmls += "  <app>\r\n";
xmls += "    <zp_id>1</zu_id>\r\n";
xmls += "  </app>\r\n";
xmls += "</apps>\r\n";
Response.ContentType = "text/xml";
Response.Charset = "UTF-8";
Response.AddHeader("Content-Disposition", "attachment;filename=\"apps.xml\"");        
Response.Write(xmls);
Response.Flush();
Response.End();



然后在js中用代码

JScript code

var xhr = new XMLHttpRequest();                            
xhr.open("GET", "apps.aspx", true);
xhr.send(null);
xhr.onreadystatechange = function(){
  if(xhr.readyState == 4)
  {
    xmlDoc_3 = xhr.responseXML.documentElement;  //到这里chrome中就会出"Cannot read property 'documentElement' of null的错误"
  }
};



请问什么地方做的不正确呢?如果将 apps.aspx 直接用 apps.xml 代替,chrome就不会出错

但在ie6 7 8 和firefox中确没有任何错误

------解决方案--------------------
Response.AddHeader("Content-Disposition", "attachment;filename=\"apps.xml\"");
这行没用