2011-04-26 62 views
0

嘿,我試圖抓住總頁數,然後從每個頁面抓取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'); 
     } 
    }); 
} 

回答

0

可以使用async: false選項$.ajax要求

$.ajax({ 
    url: './scraper/get_page_items', 
    data: { type: 'movie', page: page }, 
    async: false, 
    dataType: 'json', 
    success. function(json){ 
     .... 
    } 
}) 
+0

@biccio,這可以阻止用戶界面完全地... – kobe 2011-04-26 21:44:58

+0

是,UI被阻塞,直到搶函數結束......有時,這是不是一個真正的問題... – bicccio 2011-04-26 21:49:08