2013-12-23 31 views
0

我想創建一些報告用戶$ .post()請求被超時的東西。爲此,我正在使用
在ajax發佈超時顯示jquery警報

 
     // Set timeout for ajax request 
     $.ajaxSetup({ 
      timeout: 5000 //5 Seconds to timeout 
     });

//when ajax request start show overlay $(document).ajaxStart(function(){ $.blockUI({ css: { border: 'none', padding: '15px', backgroundColor: '#000', '-webkit-border-radius': '10px', '-moz-border-radius': '10px', opacity: .5, 'z-index':'15000', color: '#fff' } }); }); //when ajax request stops remove overlay $(document).ajaxStop(function(){ setTimeout($.unblockUI, 500); }); </pre>

如何在其中添加javascript/jquery消息以顯示該請求被超時。

回答

0

對於每個單獨的ajax調用,您可以指定一個錯誤處理程序,其中一個錯誤將爲「超時」。這在jQuery doc here中有解釋。

或者,您可以設置全球$(document).ajaxError(fn) handler並在一個地方檢查超時錯誤。

請記住,您不會因JSONP ajax調用(因爲它們使用腳本標記)而導致超時錯誤。

0

使用ajaxError()處理程序註冊一個全局錯誤處理程序,您可以使用thrownError檢查它是否是因爲超時

$(document).ajaxError(function (event, jqXHR, options, thrownError) { 
    if (thrownError== 'timeout') { 
     alert('timedout') 
    } 
}) 

演示:Fiddle

+0

謝謝...它正在工作... – user3111151

0

我相信你可以使用ajaxError趕失敗,然後使用thrownError並查找超時的錯誤代碼(408我相信)。