Ajax错误 “SCRIPT7002: XMLHttpRequest: 网络错误 0x2ef3, 由于出现错误 00002ef3 而导致此项操作无法完成” 的归纳总结

Posted jpfss

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ajax错误 “SCRIPT7002: XMLHttpRequest: 网络错误 0x2ef3, 由于出现错误 00002ef3 而导致此项操作无法完成” 的归纳总结相关的知识,希望对你有一定的参考价值。

最近在做Asp.net项目的时候,用Ajax访问服务器数据有时候老是莫名其妙的报错:SCRIPT7002: XMLHttpRequest: 网络错误 0x2ef3, 由于出现错误 00002ef3 而导致此项操作无法完成 。在网上查了查引起这个错误是个非常复杂的问题,也就是说有很多因素会引发这个Ajax错误,最蛋疼的是这个Ajax错误发生后,服务器端不会反回任何状态码和错误消息,所以无法直接跟踪和判断到底是什么原因引发了该错误。这里写一篇文章做一个归纳总结,将已知的错误原因总结出来,如果以后知道更多原因会不断扩充这篇文章。

 

原因一:Ajax的contentType记得要加charset=utf-8,否则大概率会引发Ajax错误:SCRIPT7002: XMLHttpRequest: 网络错误 0x2ef3, 由于出现错误 00002ef3 而导致此项操作无法完成

如果你在使用Jquery和XMLHttpRequest 等对象做Ajax请求时,设置了Ajax请求的contentType,请记住一定要在contentType后面加上charset=utf-8,否则会大概率引发SCRIPT7002错误。如果使用Jquery的Ajax发送json数据到服务器,那么正确的发送方式如下所示:

技术分享图片
 1 var ajaxData={};
2 ajaxData.Year=2015;
3 ajaxData.Month=11;
4 ajaxData.Meesage="测试信息";
5
6 $.ajax({
7 url: "/Home/GetData",
8 data: JSON.stringify(ajaxData),
9 type: "POST",
10 contentType: "application/json;charset=utf-8", //记住加上charset=utf-8,否则Ajax请求有可能会报SCRIPT7002错误
11 success: function(result) {
12 alert("Request sent successfully!");
13 },
14 error: function(result) {
15 alert(result.status+":"+result.statusText);
16 }
17 });
技术分享图片

 

原因二:IE中Keep-Alive机制引起的错误

 

















以上是关于Ajax错误 “SCRIPT7002: XMLHttpRequest: 网络错误 0x2ef3, 由于出现错误 00002ef3 而导致此项操作无法完成” 的归纳总结的主要内容,如果未能解决你的问题,请参考以下文章

后端没有错误,但 Ajax 功能失败

ajax在wordpress中发送400错误请求错误

使用 django 和 ajax 显示表单错误

如何查看ajax.php中的错误

JQuery Ajax - 如何在进行 Ajax 调用时检测网络连接错误

如何 jQuery Ajax 错误捕获和报告