2010-09-01 5 views
0

Я пытаюсь создать простой сценарий тестирования загрузки ajax, который динамически создает divs, запускает внешний php-скрипт и возвращает результат в созданный div.Простой сценарий сценария стресс-теста jQuery ajax

Я пытаюсь понять, как создать цикл for, который создает, скажем 10 div и запускает php-скрипт для всех div. Предпочтительно, чтобы я мог указать, какой сценарий запускать.

Это код. Он работает, но на данный момент создается только один div.

<html> 
<head> 
<script type="text/javascript" src="jquery-1.4.2.js"></script> 
<style> 
    .running { background-color: yellow; } 
    .completed { background-color: green; } 
} 
</style> 
<script> 
    function RunScripts() { 

     // Create a new div 
     $('#container').append('<div id="div1" class="running"></div>'); 

     // Run a php script and return the content 
     $.get("getcontent.php", 
      function(data){ 
       $('#div1').html(data); 
       $('#div1').removeClass('running').addClass('completed'); 
      } 
     ); 
    } 
</script> 
</head> 
<body> 
    <a onclick="RunScripts();">Run test</a> 
    <div id="container"></div> 
</body> 
</html> 

Как улучшить скрипт, чтобы он мог одновременно создавать и запускать несколько сценариев?

ответ

1

Вы можете использовать setTimeout для запуска нескольких экземпляров функции, т.е.

setTimeout('RunScripts()', 0); 
setTimeout('RunScripts()', 10); //Run again after 10ms. 

Возможно, это может вам помочь?

Вы также должны создавать новые дивы, чтобы не перезаписать данные ответа, что-то вроде:

// Create a new div 
    var $div = $('<div>') 
     .addClass('running') 
     .appendTo('#container'); 

    // Run a php script and return the content 
    $.get("getcontent.php", 
     function(data){ 
      $div.html(data); 
      $div.removeClass('running').addClass('completed'); 
     } 
    ); 
+0

Спасибо! Так просто, но так мощно – Tom

Смежные вопросы