Очередь jQuery AJAX Calls - PullRequest
       3

Очередь jQuery AJAX Calls

0 голосов
/ 27 апреля 2011

Эй, я пытаюсь получить общее количество страниц, а затем получить item_id с каждой страницы. Мой код работает, но вместо того, чтобы каждый запрос ajax срабатывал после последнего, все они запускаются одновременно. Как я могу поставить вызовы в очередь, чтобы каждый вызов get_page_items, а затем get_item назывался 1 на 1.

function scraperFunction()
{
    $.get('./scraper/get_total_pages', { type: 'movie' }, function(data)
    {
        total_pages = data;
        total_items = total_pages * 6;

        for(page=1;page<=total_pages;page++)
        {
            $.get('./scraper/get_page_items', { type: 'movie', page: page }, function(json)
            {
                $.each(json, function(key, item_id)
                {
                    $.get('./scraper/get_item', { item_id: 'item_id' });
                });
            }, 'json');
        }
    });
}

Ответы [ 2 ]

2 голосов
/ 27 апреля 2011
0 голосов
/ 27 апреля 2011

вы можете использовать опцию async: false в $.ajax запросе

$.ajax({
    url: './scraper/get_page_items',
    data: { type: 'movie', page: page },
    async: false,
    dataType: 'json',
    success. function(json){
       ....
    }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...