1
在jQuery Mobile中,如果用戶點擊一個按鈕,會出現一個加載圖標,然後通過Ajax加載新的網頁。jQuery Mobile Ajax導航超時
但是,在我的情況下服務器可能沒有響應。有沒有辦法讓超時(例如10秒)的ajax導航功能? (如果時間限制超過,請停止嘗試導航並顯示錯誤消息)
在jQuery Mobile中,如果用戶點擊一個按鈕,會出現一個加載圖標,然後通過Ajax加載新的網頁。jQuery Mobile Ajax導航超時
但是,在我的情況下服務器可能沒有響應。有沒有辦法讓超時(例如10秒)的ajax導航功能? (如果時間限制超過,請停止嘗試導航並顯示錯誤消息)
要設置超時時間,我認爲您不應該以靜態方式執行此操作(使用「數據轉換」) 您可以讓偵聽器鏈接('onclick')和監聽器內的ajax調用來加載你的頁面。使用$.mobile.changePage()
來做到這一點。
$.mobile.changePage()
函數用於jQuery Mobile中的很多地方。例如,單擊鏈接時,其href
屬性被標準化,然後$.mobile.changePage()
處理其餘的。
所以你的代碼可能看起來是這樣的:
$('#link_id').click(function() {
$.ajax({
url: "page_served_from_server",
error: function(jqXHR, strError){
if(strError == 'timeout')
{
//do something. Try again perhaps?
}
},
success: function(){
//charge your page :
// $.mobile.changePage('yourPageAdress',"turn",false,true);
},
// here you can specify your timeout in milliseconds
timeout:3000
});
});
已經問 http://stackoverflow.com/questions/5225597/set-timeout-for-ajax-jquery – zizoujab 2012-08-05 13:53:49
我不明白他們的正確回答,我應該在哪裏放置該代碼?以及如何顯示錯誤信息?你能給個例子嗎? – 2012-08-05 14:01:49
如果你已經寫了一些代碼發佈它,所以我們可以看到它有什麼問題。因爲在jQuery和jQuery手機中,有很多方法可以進行ajax調用。 – zizoujab 2012-08-05 14:13:02