2012-09-16 32 views
1

例如,我有這樣的AJAX功能,但在這裏我可以調用只有一個JSON什麼樣的代碼添加到能夠獲得超過1個JSON:如何從一個ajax調用中檢索多個json編碼?

var blue_name = $("#blue_team #blue_name").val().trim(); 
      var blue_type = $("#blue_team #blue_type").val().trim(); 
      var red_name = $("#red_team #red_name").val().trim(); 
      var red_type = $("#red_team #red_type").val().trim(); 
      $.ajax({ 
       url: "battle_review.php", 
       type: "post", 
       datatype: "json", 
       data: { bname: blue_name 
       btype: blue_type 
       rname: red_name 
       rtype: red_type}, 
       success:function(data){ 
        var toAppend = ''; 
        if(typeof data === "object"){ 
         for(var i=0;i<data.length;i++){ 
          //append data here 
         } 
         $("#table1").append(toAppend);// first json 
        } 
       } 
      }); 

這是我的PHP代碼,我怎麼把數據我JSON我想的是,我能得到這兩個JSON的$​​藍色和紅色$如何做到這一點?:

//get blue_team attributes 
$blue = array(); 

$blue_result = $db->dataWarrior($battle,$name); 

foreach($blue_result as $warrior){ 
    $blue[] = $names; 
} 



//get red_team attributes 
$red = array(); 

$red_result = $db->dataWarrior($battle,$name); 

foreach($red_result as $warrior){ 
    $red[] = $names; 
} 

echo json_encode(array('red'=>$red,'blue'=>$blue)); 

回答

3

要檢索不止一個陣列更多的單一AJAX調用?只需製作一組數組!

而不是兩個json_encode電話,只是把:

 
echo json_encode(array('red' => $red, 'blue' => $blue)); 

然後,在你的JavaScript代碼,你可以通過data.bluedata.red訪問它們。

+0

+1,或者他可以使用分隔符,如果兩個jsons合併似乎很難合作。 – Shaheer

+0

好吧,我會試試這個到我的代碼:) –

+0

兩個JSON編碼數組之間的分隔符?這似乎更加複雜:返回值不是有效的JSON字符串,您不能使用jQuery JSON * datatype *。 –