為jquery的ajax請求添加超時timeout時間的操作方法
下面給大家介紹為jquery的ajax請求添加超時timeout時間的實例
有時侯要用ajax來輪詢某個服務是否可用,但是各個瀏覽器ajax的超時時間有可能不一樣,所以希望ajax能只嘗試幾秒鐘,然后隔幾秒再次發(fā)送一次ajax檢查一次??梢杂胻imeout屬性。
var checkLoading = function(timer) {
//先延時再獲取狀態(tài),否則立即獲取可能重啟前的服務還沒有關閉
setTimeout(function() {
$.ajax({
url: '/onceos/version',
dataType: 'json',
timeout: 4000,
success: function(result) {
console.log('OK')
},
error: checkLoading
})
}, timer || 1000)
}
//第一次等10秒,第一次輪
checkLoading(10000)
補充:下面介紹下jquery ajax超時設置
var ajaxTimeoutTest = $.ajax({
url:'', //請求的URL
timeout : 1000, //超時時間設置,單位毫秒
type : 'get', //請求方式,get或post
data :{}, //請求所傳參數,json格式
dataType:'json',//返回的數據格式
success:function(data){ //請求成功的回調函數
alert("成功");
},
complete : function(XMLHttpRequest,status){ //請求完成后最終執(zhí)行參數
if(status=='timeout'){//超時,status還有success,error等值的情況
ajaxTimeoutTest.abort();
alert("超時");
}
}
});
設置timeout的時間,通過檢測complete時status的值判斷請求是否超時,如果超時執(zhí)行響應的操作。
總結
以上所述是小編給大家介紹的為jquery的ajax請求添加超時timeout時間的操作方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
相關文章
jQuery Select(單選) 模擬插件 V1.3.62 改進版
改進jQuery Select(單選) 模擬插件 V1.3.6,增加mouseover事件2010-07-07
如何確保JavaScript的執(zhí)行順序 之jQuery.html并非萬能鑰匙
在上一篇文章《如何確保JavaScript的執(zhí)行順序 - 之jQuery.html深度分析》中,我們揭示了jQuery.html函數之所以能在各種瀏覽器下保持動態(tài)JS順序執(zhí)行,其秘密在于 – 同步AJAX獲取外部JavaScript。2011-03-03
jquery刪除指定的html標簽并保留標簽內文本內容的方法
有時我們希望刪除這段html代碼里面的一對<p>標簽,但是要保持里面的內容不被刪除,本文提供的這個jquery方法就可以簡單實現。2014-04-04
jquery分頁插件jquery.pagination.js使用方法解析
這篇文章主要針對js分頁插件jquery.pagination.js使用方法進行解析,很實用的分頁插件,感興趣的小伙伴們可以參考一下2016-04-04

