與後做一個對循環閱讀下面的代碼:如何在jQuery的
for (i = 0; i < 20; i++) {
$.post('url', 'data='+ i, function (data)
{
alert('Element ' + i + ' was added');
};
}
如果你這樣做20 POST將在同一時間進行!
我需要的是一個一個地做(順序)...我該怎麼做?
與後做一個對循環閱讀下面的代碼:如何在jQuery的
for (i = 0; i < 20; i++) {
$.post('url', 'data='+ i, function (data)
{
alert('Element ' + i + ' was added');
};
}
如果你這樣做20 POST將在同一時間進行!
我需要的是一個一個地做(順序)...我該怎麼做?
在回調中,只需再次調用該函數即可。
function sendRequest(i) {
$.post('url', 'data=' + i, function(data) {
alert('Element ' + i + ' was added');
if(i < 19) {
sendRequest(i + 1);
}
});
}
sendRequest(0);
+1只要不要忘記初始化。 – 2012-07-27 03:41:43
@JosephSilber:關於你的第二次編輯,我出於以下原因回滾了:a。我發現前綴增量運算符會產生混淆代碼。這是不必要的,縮小時不會縮短。灣原始代碼在區間[0,19]中循環,因此正確的條件是「<19」,而不是「<20」(比較後增加)。 – 2012-07-27 04:40:46
你說得對,我錯了。就如此容易。對不起,你的代碼搞亂了。 – 2012-07-27 05:42:32
第一週期i = 0 POST接收的數據顯示警報(...),第二週期i = 1個POST接收數據顯示警報(...),...等 – 2012-07-27 03:38:26
這是一個重複的問題: http://stackoverflow.com/questions/5821380/how-to-make-a-jquery-post-request-synchronous – 2012-07-27 03:39:13
@MikeCorcoran - 不確定OP想讓代碼同步。他希望AJAX按順序運行,但頁面上的其他代碼不必等待AJAX返回。 – 2012-07-27 03:40:26