Несколько запросов ajax в jQuery со многими аргументами в методе $ .when - PullRequest
0 голосов
/ 08 июля 2011

Можно ли сделать несколько запросов jquery ajax методом $.when, не зная количества аргументов?

Это мой код:

 var ajax_loaded = new Array();

    $('.chart input[name^="qtd"]').each(function()
    {        
        ajax_loaded.push(function(){$.ajax({
            url : www + 'chart/add',
            type : 'POST',
            data : {
               qtde: $(this).val(), 
               idProd: $(this).prev().val()
            }
        })});
    });

    $.when(ajax_loaded ).done(function(){
        alert('Done');
    });

Ответы [ 2 ]

0 голосов
/ 08 июля 2011

Да - используйте Function.apply для вызова $.when() с вашим массивом неизвестной длины:

var ajax_loaded = [];

$('.chart input[name^="qtd"]').each(function()
{        
    ajax_loaded.push($.ajax({
        url : www + 'chart/add',
        type : 'POST',
        data : {
           qtde: $(this).val(), 
           idProd: $(this).prev().val()
        }
    });
});

$.when.apply($, ajax_loaded ).done(function(){
    alert('Done');
});

Примечание: обратите внимание, что вам нужно помещать результат $.ajax в массив, а не функцию. Нажатие на закрытие не сработает.

0 голосов
/ 08 июля 2011

В зависимости от того, что вы делаете, может быть проще использовать .ajax () обратные вызовы (успех и ошибка)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...