2012-12-29 81 views
1

我有一個jquery循環,我想調用併爲循環中的每個元素使用ajax。在(jquery?)循環中使用ajax

var splitted = [1,2,3]; 
var categoriesID = [4,5,6]; 
$.each(splitted, function(index, val) 
{ 
     $.ajax({ 
      type: "GET", 
      url: 'index.php?act=ajax&op=showCategories&manufacturer='+val+'&categories='+categoriesID, 
      success: function(data) { 

      $(".manufacturer\\[" + val + "\\]").show(); 
      $(".manufacturer\\[" + val + "\\]").html(data); 
      //alert('Load was performed.'); 

      } 
     }); 

}); 

的問題是,我注意到,大概每個元素使用相同的AJAX連接,我的結果都是一樣的 - 當然每個元素的我應該得到不同的結果。

所以 - 我怎麼能關閉&在每個循環中重新打開ajax連接?還有另外一種方法可以做到嗎?

+10

當你使用jQuery時,爲什麼不使用'$ .ajax'? – luiges90

+0

如果你想要解釋錯誤的原因,請將'... ajax在這裏......'部分貼出來,否則你應該使用jQuery ajax方法,比如'$ .ajax','$ .get','' $ .post' .. –

+2

奇怪的是...你正在使用jQuery進行循環(這在普通的javascript中很容易),但不適用於AJAX(jQuery確實很容易) –

回答

2

最好使用普通的js來創建一個simle循環,並使用jquery ajax來簡化對服務器的Ajax調用。而對於你從服務器端收到的同樣(不好)的結果,我認爲你是發送或不發送相同的參數,然後收到相同的結果,你能提供獲取數據的邏輯...... Ajax是異步的這個名字說。所以不需要開放的密切聯繫,他們是在一個平行的matherr中完成的。和jquery將照顧打開/關閉。也看看how to ask a question

for (var i = 0; i < 3; i++) { 

    $.ajax({ 
     type: "POST", 
     data: i, //0,1 and 2 
     url: myUrlString, 
     success: function (data) { 

      console.log(data); 
     } 
    }); 
}; 
+0

我已根據您所說的abot jquery ajax編輯了我的帖子,並且它不工作。你能幫我麼? – user1936192