我有一个循环(多个邮件调用)内的jQuery POST函数。
出于某种原因,jQuery正在发布,但没有返回所有数据,直到循环结束并一次解析所有结果。jQuery AJAX结果块不会立即触发
FOREACH arg_value IN args
{
console.log('Do stuff');
$.post('https://blah.com/xml.php',
{arg: arg_value},
function(xml) {
$(xml).find('tag').each(function() {
console.log('Do more stuff');
});
});
}
的这个输出是...
做的东西
做的东西
做的东西
不要更多的东西
做更多的东西
做更多的东西
看起来好像jQuery是cac直到最后才会执行结果。
我期待......
做的东西
不要更多的东西
做的东西
做更多的东西
做的东西
做更多的东西
有一个选项告诉jQuery暂停执行,直到有AJAX结果?它似乎像往常一样异步运行,但在这种情况下我不希望这样。
我不认为任何东西都被缓存在这里。 AJAX是一个异步调用,只有当调用完成并发回结果时才会发生更多的事情。虽然你的每个是同步的并执行lineraly(在一个循环中) – ryadavilli
将不会以这种方式运行...在AJAXsuccess返回时,这里其他代码得到执行..它异步调用.. – thecodejack
这表现如预期。如果你想让你的ajax calles以连续的方式触发,请查看延迟来排序它们。 – Halcyon