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機制引起的錯誤

 

2018-04-16更新

今天碰上“XMLHttpRequest: 網絡錯誤 0x80700013, http://download.microsoft.com/download/XXX.list”bug解決了很久,后來發現是網路慢導致的,過了一會自己好了。為了防止這個錯誤,用了CDN。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM