我正试图在循环中调用多个ajax调用。
我要在完成每个请求后存储ajax调用请求数据。
就我而言,它将最终请求数据存储在所有响应中。
这是我的代码
for (var postdata in response) {
postdata1 = JSON.stringify(response[postdata]);
var part1 = "<div class='col-md-4'><div class='thumbnail'><img src='";
var part2 = "' alt='Visualize Image' style='width:100%'> <div class='caption'><a href='#' class='btn btn-info btn-lg' data='" + postdata1 + "'><span class='glyphicon glyphicon-heart'></span> Like </a></div></div></div>";
$.ajax({
type: "POST",
url: URL,
crossDomain: true,
data: postdata1,
success: function (dataString) {
$(".loader").css('display', 'none');
var source = 'data:image/png;base64,' + dataString;
console.log(postdata);
$(".row").append(part1 + source + part2);
}
});
}
如何将每个postdata1值存储在各自的响应中?
提前致谢。
答案 0 :(得分:2)
我不确定我是否理解你想要保存什么,但也许你可以在循环之前创建一个数组并在jQuery ajax success
例程中推送数据的是:
var ajaxResults = [];
for (var postdata in response) {
postdata1 = JSON.stringify(response[postdata]);
// ...
$.ajax({
// ...
success: function (dataString) {
// ...
ajaxResults.push({
"postdata1": postdata1,
"dataString": dataString
});
}
});
}
小心异步事件。我建议你在 last ajax调用结束时触发一个事件,以确保ajaxResults
一致且完整。
如果您认为这是解决问题的方法,您可以接受此答案。 Here您可以阅读以下内容:)