回答
只需使用$.ajax(...)
:
$.ajax({
url: url,
success: function(data){
//...
},
timeout: 1000 //in milliseconds
});
另外,如下面的評論說,你可以使用.ajaxSetup(...)
申請全球超時:
$.ajaxSetup({timeout:1000}); //in milliseconds
如果您想全局執行此操作,請執行以下操作:$ .ajaxSetup({timeout:1000}); – epignosisx 2011-12-16 14:19:43
@epignosisx也是如此。我會將其添加到答案中。^_^ – Neal 2011-12-16 14:20:13
呼叫$.ajax
並通過timeout
選項。
$.get
只是一個很好的速記$.ajax
它有一個timeout
選項,它將指定腳本在取消回調之前等待的時間。
您可以使用$.ajaxSetup({timeout: 9001})
覆蓋全局默認值,這將允許您繼續使用$.get
。
如果您只是想在不取消請求的情況下提醒用戶,請使用$.ajax
,設置超時並取消complete
回調中的超時。
下面是一些例子啓動代碼,我沒有測試過任何的它,它很可能變成一個插件與一些工作:
(function(){
var t, delay;
delay = 1000;
$('.delay-message').ajaxStart(function() {
var $this;
$this = $(this);
t = setTimeout(function() {
$this.trigger('slowajax');
}, delay);
}).ajaxComplete(function() {
if (t) {
clearTimeout(t);
}
});
}());
$('.delay-message').on('slowajax', function() {
$(this).show().delay(2000).fadeOut(1000);
});
$.ajaxSetup({
timeout:2000 // in milliseconds
});
//your get request here
只需使用.ajax()
即可;畢竟.get()
只是一個包裝。你可以這樣做:
function doAjax() {
var $warning = $("#warning").hide(), // Always hide to start with
warningTimeoutId = 0;
warningTimeoutId = window.setTimeout(function() {
$warning.show();
}, 10000); // wait 10s before showing warning
$.ajax({
timeout: 30000, // 30s timeout
complete: function() {
// Prevent the warning message from appearing
window.clearTimeout(warningTimeoutId);
}
... // other config
});
}
在這裏,你只是在Ajax調用,將10秒後,除非Ajax請求已完成顯示之前啓動超時。
- 1. Jquery.get在超時時的行爲?
- 2. AJAX jQuery.load與jQuery.get
- 3. jquery.get(URL)同步
- 4. jquery.get和servlet
- 5. 不工作jQuery.get()
- 6. jqGrid和jQuery.get()
- 7. Jquery.get()時,試圖獲取數據,而HTTPS
- 8. jQuery.get()如何工作?
- 9. jQuery.get成功參數
- 10. jQuery.get() - 實際用途?
- 11. jQuery.get()DIV HTML代碼
- 12. jQuery.get()返回錯誤
- 13. Jquery.get只返回1
- 14. JQuery.get語法錯誤
- 15. jQuery.get()方法不起作用
- 16. jQuery.get()函數不執行
- 17. 使用回調函數... jquery.Get
- 18. 如何獲取jQuery.Get();參數?
- 19. jquery.get() - 無法獲得結果
- 20. jQuery.get不接收數據
- 21. Jquery.get不能使用ssl
- 22. jQuery.get()變量的作用域
- 23. jquery.get返回的PHP代碼?
- 24. 閱讀RSS提要與jQuery.get()
- 25. jQuery的 - 一個jQuery.get功能
- 26. javascript超時超時
- 27. 超時不超時
- 28. Ruby超時不超時
- 29. Multipart HTTP超時後超時
- 30. LINQ超時:超時過期
你的意思是你想在某個延遲後觸發一個函數,或者你想在某個延遲後取消`$ .get`請求嗎?如果它只是觸發一個函數,你可以使用`setTimeout`。 – zzzzBov 2011-12-16 14:18:20