2014-07-20 76 views
0

可以在循環中使用ajax調用嗎?
在這裏我想,當我單擊按鈕,然後ajax調用將被調用10次。下面是我的代碼。不知道這是不是好的做法。'for'循環內的Ajax調用

但我需要這種類型的解決方案。我該怎麼做?謝謝。

HTML:

<button>Click</button> 

AJAX:

$(document).ready(function(e) { 
      $('button').click(function(){ 
        for(var i=1;i<=10;i++){  //is it possible ? 
        $.ajax({ 
         type:'POST', 
         url : "a.php", 
         data:'a='+$('.div1').text(), 
         success: function(result){ 
           $('.div1').html(result); 
          }        
        }); 
        } 
       }); 
     }); 

a.php只會:

 <?php 
      if(!isset($_POST['a']) || $_POST['a'] == ""){ 
       $a = 0; 
      } 
      else{ 
       $a = $_POST['a'] + 1; 
      } 
      echo $a; 
      exit(); 
     ?> 
+0

這是。你爲什麼需要它?你要在服務器端處理什麼? –

+0

你現在的代碼有什麼問題? –

+1

你爲什麼要這麼做?你一遍又一遍地調用同樣的東西。你確定你不想在它裏面運行帶有AJAX的'$('。div1')。each()'?儘管如此,你可以從'$('。div1')。'()''Array.join()''.text()'並使用AJAX發送一次到服務器。 – PHPglue

回答

1

試試這個:

$(document).ready(function(e) { 
     var ajaxCalled=0; 
     $('button').click(function(){ 
       $.ajax({ 
        type:'POST', 
        url : "a.php", 
        data:'a='+$('.div1').text(), 
        success: function(result){ 
          $('.div1').html(result); 
          ajaxCalled++; 
          if(ajaxCalled<=10){ 
           $('button').trigger('click'); 
          } 
          else{ 
           ajaxCalled=0; 
           return false; 
          } 
         }    
       }); 
      }); 
    }); 
+0

感謝兄弟:) @Amin Jafari – user3857235

+0

不客氣,請點擊我答案旁邊的複選標記接受答案,如果這個答案實際上是你要找的。 ;) –