Ajax錯誤 「SCRIPT7002: XMLHttpRequest: 網絡錯誤 0x2ef3, 因爲出現錯誤 00002ef3 而致使此項操做沒法完成」 的概括總結

最近在作Asp.net項目的時候,用Ajax訪問服務器數據有時候總是莫名其妙的報錯:SCRIPT7002: XMLHttpRequest: 網絡錯誤 0x2ef3, 因爲出現錯誤 00002ef3 而致使此項操做沒法完成 。在網上查了查引發這個錯誤是個很是複雜的問題,也就是說有不少因素會引起這個Ajax錯誤,最蛋疼的是這個Ajax錯誤發生後,服務器端不會反回任何狀態碼和錯誤消息,因此沒法直接跟蹤和判斷究竟是什麼緣由引起了該錯誤。這裏寫一篇文章作一個概括總結,將已知的錯誤緣由總結出來,若是之後知道更多緣由會不斷擴充這篇文章。html

 

緣由一:Ajax的contentType記得要加charset=utf-8,不然大機率會引起Ajax錯誤:SCRIPT7002: XMLHttpRequest: 網絡錯誤 0x2ef3, 因爲出現錯誤 00002ef3 而致使此項操做沒法完成ajax

若是你在使用Jquery和XMLHttpRequest 等對象作Ajax請求時,設置了Ajax請求的contentType,請記住必定要在contentType後面加上charset=utf-8,不然會大機率引起SCRIPT7002錯誤。若是使用Jquery的Ajax發送json數據到服務器,那麼正確的發送方式以下所示: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機制引發的錯誤服務器

相關文章
相關標籤/搜索