先給大家分析下超時原因:
1.網絡不通暢。
2.后臺運行比較慢(服務器第一次運行時,容易出現)
超時結果:JQ中 timeout設置請求超時時間。
如果服務器響應時間超過了 設置的時間,則進入 ERROR (錯誤處理)
超時解決方案:
1.默認的timeout為0,代表永不超時
2.盡量把timeout設置的大一點。壞處:使數據的加載變慢(貌似。呵呵)。
3.在ERROR回調函數中寫 有關于 超時 處理 的函數:例如,可以在超時的情況下再次調用取數據函數。
------------------------------------------------------- -------------------------------------------------------
這個ajax 里有個success的函數. 是成功是返回的 還有個好像是叫error的返回函數
如果請求失敗的時候 會觸發這個函數.
我覺得你可以在error里處理.
如果執行了這個函數那你就調用你第二個ajax方法唄.
jQuery和ExtJS的timeOut超時設置和event事件處理 .
jQuery和ExtJS的timeOut超時設置和event事件處理 .
ajax請求如何自定義超時時間,并處理相應的超時事件呢?
對jQuery 來說,超時可以直接設置timeout參數,并在error事件中捕獲第二個參數,如果是“timeout”則表明捕獲了超時事件,非常清楚。
例子:
$.ajax({type: "POST",contentType: "application/json",url: "../ws/MyService.asmx/test",data: '{"email":"'+email+'"}', timeout: 30000, //超時時間:30秒dataType: 'json',error: function(XMLHttpRequest, textStatus, errorThrown){//TODO: 處理status, http status code,超時 408// 注意:如果發生了錯誤,錯誤信息(第二個參數)除了得到null之外,還可能//是"timeout", "error", "notmodified" 和 "parsererror"。}, success: function(result) {// TODO: check result}});
另外,error事件返回的第一個參數XMLHttpRequest有一些有用的信息:
XMLHttpRequest.readyState: 狀態碼
0 - (未初始化)還沒有調用send()方法
1 - (載入)已調用send()方法,正在發送請求
2 - (載入完成)send()方法執行完成,已經接收到全部響應內容
3 - (交互)正在解析響應內容
4 - (完成)響應內容解析完成,可以在客戶端調用了
XMLHttpRequest.status屬性:一些錯誤代碼
HTTP
1xx-信息提示
這些狀態代碼表示臨時的響應。客戶端在收到常規響應之前,應準備接收一個或多個1xx響應。
100-繼續。
101-切換協議。
2xx-成功
這類狀態代碼表明服務器成功地接受了客戶端請求。
200-確定。客戶端請求已成功。
201-已創建。
202-已接受。
203-非權威性信息。
204-無內容。
205-重置內容。
206-部分內容。
3xx-重定向
客戶端瀏覽器必須采取更多操作來實現請求。例如,瀏覽器可能不得不請求服務器上的不同的頁面,或通過代理服務器重復該請求。
301-對象已永久移走,即永久重定向。
302-對象已臨時移動。
304-未修改。
307-臨時重定向。
4xx-客戶端錯誤
發生錯誤,客戶端似乎有問題。例如,客戶端請求不存在的頁面,客戶端未提供有效的身份驗證信息。400-錯誤的請求。
401-訪問被拒絕。IIS定義了許多不同的401錯誤,它們指明更為具體的錯誤原因。這些具體的錯誤代碼在瀏覽器中顯示,但不在IIS日志中顯示:
401.1-登錄失敗。
401.2-服務器配置導致登錄失敗。
401.3-由于ACL對資源的限制而未獲得授權。
401.4-篩選器授權失敗。
401.5-ISAPI/CGI應用程序授權失敗。
401.7 主站蜘蛛池模板: 全州县| 平利县| 百色市| 乌兰察布市| 喀喇| 南京市| 富民县| 萍乡市| 鄯善县| 凤台县| 砚山县| 德令哈市| 建平县| 神农架林区| 江源县| 林口县| 平顺县| 磐安县| 武乡县| 临夏县| 西林县| 莒南县| 丰县| 元阳县| 霸州市| 桑植县| 新宁县| 日土县| 诸城市| 永平县| 宜君县| 墨竹工卡县| 惠安县| 南康市| 调兵山市| 客服| 萨嘎县| 天镇县| 姜堰市| 巴中市| 米林县|