当我做一些Ajax调用时,我一直收到这个错误...
它甚至可能与地理编码有关,但我真的不知道如何捕获错误以显示对用户有用的东西......甚至如何解决问题,因为它似乎只是引用某种指针或其他东西: S 0x2ef3
SCRIPT7002:XMLHttpRequest:网络错误0x2ef3,由于错误00002ef3无法完成操作.
图像可能比错误消息更有帮助:
有什么想法吗?
我的代码在1秒内触发10个ajax调用,由地理编码服务器端处理.
错误会间歇性地出现.有时我会得到地理编码的结果,有时我会得到错误.我会说我有10%的时间得到它.它完全阻止了ajax调用在jQuery中触发我的错误处理程序.
在10以上版本的任何Microsoft IE浏览器上查看我的应用程序时,我在控制台上收到以下奇怪的错误:
我已尝试在AngularJS lib之前添加以下JavaScript代码来取消控制台:
console.log = function(){};
window.console = {log: function(){}};
Run Code Online (Sandbox Code Playgroud)
它没有任何区别.IE 10中的相同错误显示为:
SCRIPT7002: XMLHttpRequest: Network Error 0x80070005, Access is denied.
Run Code Online (Sandbox Code Playgroud)
可能是我试图从API获取'/ me'以检查用户是否经过身份验证或访客.
基本上.每次服务器提供2XX或3XX以外的响应时,消除那些恼人的控制台错误都会很棒!
更新:这似乎与通过不同的子域(CORS)访问API有关;
我正在尝试在互联网上的服务器(http)之间进行ajax调用.并将其定位到我自己的localhost.FF/Chrome/ETC ......有效.它只是一个IE问题.IM使用IE 11和10.
请求甚至没有完成."拒绝访问"立即被抛出.
这是代码.只为你看.
不是IE8和IE9中的经典HTTP/HTTPS错误.这是别的,但文档没有帮助.
$jq.ajax({
contentType: 'application/json',
url: url,
dataType: 'json',
crossDomain: true,
beforeSend: function (xhr) {
xhr.withCredentials = true;
xhr.setRequestHeader("Authorization", "Basic " + $jq.base64.encode(username and password));
},
success: function (data, status, headers) {},
error: function (xhr, status, error) {}
Run Code Online (Sandbox Code Playgroud)
状态是0
在xhr
对象和错误是"拒绝访问"
ajax xmlhttprequest cors internet-explorer-10 internet-explorer-11
在所有其他非IE浏览器中,以下代码段效果很好:
<!DOCTYPE html>
<html>
<script type="text/javascript">
var xhr = new XMLHttpRequest();
var url = "https://otherdomain.com";
var method = "GET";
xhr.open(method, url, true);
xhr.onload = function() {
var responseText = xhr.responseText;
document.write(responseText);
};
xhr.send()
</script>
</html>
Run Code Online (Sandbox Code Playgroud)
在两个不同的IE11浏览器中(运行在不同的OS版本上),我得到两个不同的错误:
谷歌搜索上述错误代码并没有提供任何有用的信息.我已经尝试设置Content-Type,为onprogress和onload添加虚函数,但无济于事.