2013-09-23 2 views
-1

Мой код для анализа веб-сайта. Сценарий вызова parser_init.php с парам «регион»Вызов jQuery.get после полной функции

$(function() { 

    var regions = new Array (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,83,86,87,89,95); 
    var max_region = 95; 

    $('#parse-button').click(function() { 

     NProgress.start(); 

     for (key in regions) { 

      $.get('parser_init.php?region=' + regions[key], function(result) { 

       $('#result').append ('parser_init.php?region=' + regions[key] + ' = получен; <br />'); 

       NProgress.set(regions[key]/max_region); 

      }); 

     } 

    }); 

}); 

Очень важно, что $ .get осуществляется после того, как получить результат

+0

вы хотите, чтобы запустить сценарий в синхронизировано .. т. е. отправил запрос после получения ответа на отправку второго запроса –

ответ

0

Попробуйте

$(function() { 

    var regions = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 83, 86, 87, 89, 95); 
    var max_region = 95; 

    function getRegions(callback, idx) { 
     idx = idx || 0; 
     if (idx >= max_region) { 
      return; 
     } 
     $.get('parser_init.php?region=' + regions[idx], function (result) { 
      $('#result').append('parser_init.php?region=' + regions[idx] + ' = получен; <br />'); 
      NProgress.set(regions[idx]/max_region); 
      getRegions(callback, idx + 1) 
     }); 
    } 

    $('#parse-button').click(function() { 

     NProgress.start(); 

     getRegions($.noop) 

    }); 

}); 
Смежные вопросы