[英]NETWORK_ERR: XMLHttpRequest Exception 101
我在Chrome中遇到了AJAX问题,出现以下错误:
Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101
这是我的代码:
function IO(filename) {
if (window.XMLHttpRequest) { // Mozilla, Safari,...
xmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) { }
}
}
xmlhttp.open("GET", filename+"?random="+Math.floor(Math.random()*100000001), false);
xmlhttp.send();
if(xmlhttp.readyState==4)
return xmlhttp.responseXML;
}
解决方案是将async
参数设置为true
:
xmlhttp.open("GET", filename+"?random="+Math.floor(Math.random()*100000001), true);
除了在没有正确标头的情况下获取跨站点URL时,在通过XHR(AJAX)获取本地文件时会发生此错误。 显然,Chrome的跨站点安全措施过于热心,没有意识到一个文件:URL应被视为与另一个文件相同的站点:URL。 对于许多本土应用程序来说,这是一个问题,尤其是Jasmine(JavaScript测试框架)。
仍然发生Chrome版本16.0.912.63。
我不知道任何解决方案。 解决方法是使用Firefox或任何其他浏览器来运行由文件提供的应用程序:URL。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.