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\"");
这行没用