SCRIPT7002:XMLHttpRequest:网络错误0x2ef3,由于错误00002ef3无法完成操作

Jim*_*988 73 ajax jquery

当我做一些Ajax调用时,我一直收到这个错误...

它甚至可能与地理编码有关,但我真的不知道如何捕获错误以显示对用户有用的东西......甚至如何解决问题,因为它似乎只是引用某种指针或其他东西: S 0x2ef3

SCRIPT7002:XMLHttpRequest:网络错误0x2ef3,由于错误00002ef3无法完成操作.

图像可能比错误消息更有帮助:

在此输入图像描述

有什么想法吗?

我的代码在1秒内触发10个ajax调用,由地理编码服务器端处理.

错误会间歇性地出现.有时我会得到地理编码的结果,有时我会得到错误.我会说我有10%的时间得到它.它完全阻止了ajax调用在jQuery中触发我的错误处理程序.

Nic*_*kNo 29

这是对我有用的修复.使用您的json数据发送无效的mime或bad characterset导致该错误.像这样添加charset以帮助它混淆:

$.ajax({
  url:url,
  type:"POST",
  data:data,
  contentType:"application/json; charset=utf-8",
  dataType:"json",
  success: function(){
  ...
  }
});
Run Code Online (Sandbox Code Playgroud)

参考:

Jquery - 如何使$ .post()使用contentType = application/json?

由于错误c00ce56e无法完成操作

  • 你在这里混合两件事:Response.ContentType似乎是一个服务器端的东西,它确保服务器在其响应的内容类型中包含一个charset in.$ .ajax调用中的contentType告诉浏览器在向服务器提交请求时要使用哪种内容类型.所以一个不是另一个的替代品. (4认同)

小智 21

我们也遇到过类似的问题.但是,如上一条评论中所述设置字符集并没有帮助.我们的应用程序每60秒发出一次AJAX请求,我们的网络服务器nginx在60秒内发送Keep-Alive超时.

我们通过将保持活动超时值设置为75秒来解决问题.

这就是我们认为发生的事情:

  1. IE每隔60秒发出一次AJAX请求,在请求中设置Keep-Alive.
  2. 同时,nginx知道IE忽略了Keep-Alive超时值,因此它启动了TCP连接关闭过程(在FF/Chrome的情况下,这是由客户端启动的)
  3. IE接收先前发送的请求的关闭连接请求.由于这不是IE的预期,它会引发错误并中止.
  4. 即使连接已关闭,nginx似乎仍然响应请求.

Wireshark TCP转储将提供更清晰,我们的问题是固定的,我们不希望花更多的时间在它上面.


Mik*_*e R 10

我收到了同样的错误(SCRIPT7002: XMLHttpRequest: Network Error 0x80004004, Operation aborted),在我们的例子中,这是因为JavaScript的原始策略相同.

我们的网络应用程序正在端口8080上对我们的服务器进行JQuery AJAX调用.该调用被拦截并通过SSL重新路由(由于服务器规则要求传入流量使用SSL).

一旦我们通过SSL端口加载我们的Web应用程序,问题就得到了解决.