[英]jQuery: How to make an AJAX request and continue without waiting for request to complete?
我想在JavasSript函數的“后台”發出AJAX請求,但是我的腳本等待AJAX請求完成,然后繼續執行我的代碼。
$('div').hide();
$.get('/controller/action', { id: 'abc123' },
function(data){
//request completed
//now update the div with the new data
$('div').html(data);
}
);
$('div').slideDown('slow');
//by now hopefully the div has been updated
//and the user hasn't waited too long
問題在於slideDown
動畫將等待執行,直到請求返回響應為止。 如何獲得與ajax請求同時執行的動畫?
您的代碼應該已經(異步地)在后台執行Ajax請求。 jQuery.get()
方法的縮寫為:
$.ajax({
url: url,
data: data,
success: success,
dataType: dataType
});
jQuery.ajax()
方法是async: true
默認情況下為async: true
。
將slideDown()
放入成功回調中
$('div').hide();
$.get('/controller/action', { id: 'abc123' },
function(data){
alert("Request completed");
//now update the div with the new data
$('div').slideDown('slow');
}
);
除非您為AJAX提供帶有async: false
默認配置async: false
( doc )。
在ajax請求完成之前,div是否可能不包含任何內容,從而造成其等待的錯覺?
在ajax請求之后,您是否嘗試過良好的舊alert()調試?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.