如何在多个ajax调用中处理数据

问题描述 投票:-1回答:1

我试图在循环中调用多个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值存储在各自的响应中?

提前致谢。

javascript jquery ajax
1个回答
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
            });
        }
    });
}

关注异步事件。我建议你在最后一次ajax调用结束时触发一个事件,以确保ajaxResults是一致和完整的。

如果您认为这是您问题的解决方案,您可以接受此答案。 Here你可以读懂:)

© www.soinside.com 2019 - 2024. All rights reserved.