2013-06-05 47 views
7

我已經使用jquery創建了spring web應用程序。對於每個使用$ .get或$ .post(不是$ .ajax)的ajax調用即時消息。

但我沒有處理任何ajax超時或ajax錯誤。現在我的應用程序已部署在服務器中,我無法進行任何重大更改。

請幫助我如何處理AJAX超時整個Web應用程序,我應該警報(「阿賈克斯超時」)全球。此外無論ajax錯誤,我應該提醒錯誤消息給用戶。

我聽說$ .ajaxSetup$ .ajaxError
但如何在我的web應用程序使用它們,是否需要將其添加到的document.ready?

回答

22

您可以將一個ajaxError處理程序文件

$(function(){ 
    $(document).ajaxError(function(event, request, settings) { 
     //Do whatever 
    }); 
}); 

編輯:設置全局的Ajax超時,你必須使用ajaxSetup

$.ajaxSetup({ 
    timeout: 2000 //Time in milliseconds 
}); 

注意$.ajaxSetup應設置之前其他Ajax調用。

+0

如何設置全局ajax超時? –

+0

@JagadeeshP檢查編輯 – skafandri

+0

+1爲全球設置。 – Esteban

0

以下是如何在您的應用程序中設置ajaxError

這樣做一旦裏面的文件準備就緒。

$(document).ajaxError(function (event, xhr) { 
    console.log(xhr.status + ': ' + xhr.statusText); 
}); 

xhr.status是HTTP狀態代碼返回,最常見的404(未找到),201(創建),403(禁止),這些狀態代碼的列表,請參閱:http://www.w3.org/Protocols/HTTP/HTRESP.html

+1

如何在全局設置ajax超時? –

0

您可以使用 $ .ajaxSetup({timeout:100});