顺序AJAX在jquery .each迭代中调用

时间:2018-02-05 09:24:23

标签: jquery ajax asynchronous html-lists each

我需要使用 li 元素上的每个顺序进行AJAX调用,并将有序结果附加到div中:

getrusage

我注意到,作为异步调用,呈现的HTML的顺序不正确,所以我需要知道每个AJAX调用何时完成其工作以生成后续的。我不想在AJAX参数中使用“async:false”,因为我无法使用加载层。

1 个答案:

答案 0 :(得分:0)

试试这个。

 function getData() {
     var requests = [];
        $('#activityListSelected li').each(function (i) {
            var promise = $.ajax({
                url: '@Url.Action(MVC.Area.MyController.MyAction())',
                type: 'POST',
                contentType: 'application/json',
                data: JSON.stringify({
                    "myText": currentObj.text().replace(/ /g, "_"),
                }),
                success: function (response) {
                    $('#myDiv').append(response);
                },

                error: function (jqXHR, exception) {

                }
            }).done(function (data) {   //received data!


            });
            requests.push(promise);
        });
        console.log(requests);
        // return a promise that will resolve when all ajax calls are done
        return $.when.apply($, requests);
    }