队列jQuery AJAX调用
问题描述:
嘿,我试图抓住总页数,然后从每个页面抓取item_id。我的代码可以工作,但不是每个ajax请求都在最后一个之后触发,而是全部运行。我怎样才能呼叫排队所以每次调用get_page_items然后get_item由1队列jQuery AJAX调用
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');
}
});
}
答
可以使用async: false
选项$.ajax
要求
$.ajax({
url: './scraper/get_page_items',
data: { type: 'movie', page: page },
async: false,
dataType: 'json',
success. function(json){
....
}
})
@biccio,这可以阻止用户界面完全地... – kobe 2011-04-26 21:44:58
是,UI被阻塞,直到抢函数结束......有时,这是不是一个真正的问题... – bicccio 2011-04-26 21:49:08