這是一個函數,我必須通過ajax調用寫入一個xml文件。該代碼在第一次進行ajax調用時工作正常。在每個循環的第二個循環中,ajax調用完全沒有進行。我不知道爲什麼。我指定asyn爲false。這沒有幫助。無論如何,這似乎不是問題。每個循環jQuery中的Ajax調用
$('#'+divid).children('div').children('div').each(function() {
var url = $(this).find('a');
var urlname = url.text();
var urllink = url.attr('href');
var urlid = $(this).attr('id');
alert ("from javascript urlid: "+urlid+" urlname: "+urlname+" urllink: "+urllink);
$.ajax({
url: "add_url.php",
type: "POST",
data: { nodeid: divid, urlid: urlid, urlname: urlname, urllink: urllink },
cache: false,
async: false,
success: function (response) {
if (response != '')
{
alert(response);
}
}
});
});
設置'異步:在FALSE' ajax調用不會產生影響,因爲ause你正在循環一個自己的函數,這是由jQuery異步調用遍歷所有元素。然後每個執行的函數都會等待ajax調用完成。但他們都會同時運行。 – Wulf
@Wulf:回調函數不是異步調用的:https://github.com/jquery/jquery/blob/1.6.3/src/core.js#L609-L647 –
我已經使用了相同的格式,每個()函數中的ajax,它工作正常。你有沒有在Firebug中檢查過,只有一個POST請求正在進行,並且肯定有超過1個對象。你有多個提醒嗎? – MattP