我有以下的js代码段:AJAX执行错误
cat_images = $(".category-description").next().find("img");
cat_images.each(function() {
url = $(this).parent().attr("href");
id = url.split("id=");
id = id[1];
url = "cat_url.php?i="+id;
this_image = this;
$.get (url, function (data) {
$(this_image).attr("src", data);
});
});
目前,只有最后一个元素遍历由每个回路是由ajax.get部分更新。我认为这是与ajax与循环相互作用差的事情,因为在ajax函数中使用this
会使其完全失败。
无论如何,有没有在等待jquery完成jquery时延迟循环? (宁愿不混合常规JS)
这是因为'get'函数是非阻塞的(异步),这意味着'each'循环不会等待resp ONSE。当你从任何get调用得到响应时,你已经完成了迭代,'this_image'等于最后一个。请参阅以下Vega的答案,了解如何处理此问题。 – Archer