我有一个带有 .get 的 jquery .each 循环。我想等到循环内的所有内容都完成(每个 get 将 .complete 一个新元素推送到数组中),然后向 php 文件发出 ajax 发布请求以保存创建的数组。我不知道如何让 ajax 请求等到每个完成。到目前为止,ajax 触发非常快,因此数组仍然是空的,因为每个内部的 get 在触发时仍未完成。也许你有一个想法。
这是脚本:
$('#ScanButton, .ScanButton').click(function() {
var array = ["http://www.xyz.com/bla/bla/summary.html",
"http://www.xyz.com/blu/blu/summary.html",
];
dataArray = [];
$.each(array, function(n, val) {
$.get(val, function(res) { //get the html source of this website
var data = {
}
}).complete(function() {
alert("complete");
dataArray.push(data);
});
});
data = YAHOO.lang.JSON.stringify(dataArray);
$.ajax({
async: false,
type: 'post',
cache: false,
url: 'test.php',
data: {myJson: data}
});
return false;
});
我很感激任何帮助。谢谢 :)