2016-09-20 54 views
-1

我需要直接從response.php獲取包含所需值的變量。我怎樣才能過濾JSON可以單獨變量?或者,如果我兩個數組合併成1個JSON調用,然後我如何得到不同的價值AJAX:使用ajax從php獲取兩個不同的JSON變量

AJAX

function getMaleRanking(){ 
var mr = 'maleRangking'; 
var mf = 'femaleRangking'; 

$.ajax({ 
    url : 'ajax/ajax_drill.php', 
    type : 'post', 
    cache : false, 
    data :{ mr : mr , mf : mf , event_id : event_id}, 
    success:function(data){ 
     var rankings = data; 
     //get the first json 
     //get the sencod json 

    } 
}); 
} 
getMaleRanking(); 

我的PHP

echo json_encode(resultMergeMale, JSON_NUMERIC_CHECK); 
echo json_encode(resultMergeFem, JSON_NUMERIC_CHECK); 
+0

了''中的功能(數據)data'變量{...}'Ajax調用會嫌棄你的PHP「遙相呼應」的輸出緩衝器 –

+1

返回與'值json_encode' –

+0

是的,但我想要過濾一個變量 –

回答

1

您必須以json格式提供響應以獲取多個參數中的值。你的PHP代碼應該是

$response=array('mr'=>'','mf'=>''); 
if(isset($_POST['mr'])){ 
    foreach ($resultMergeMale as $key => $value) { 
     $firstval = $value; 
     //get this first val 
     $response['mr'] . =$firstval; 
    } 

} 

if(isset($_POST['mf'])){ 
    foreach ($resultMergeFem as $key => $value) { 
     $secondval = $value 
     //get this seaond val 
     $response['mf'] .= $secondval ; 
    } 
} 

echo json_encode($response); 
die(); 

你要通過數據類型:「JSON」,所以jQuery將自動轉換JSON字符串成JSON對象,你可以通過它的屬性來訪問。您的Ajax代碼應該是

function getMaleRanking(){ 
var mr = 'maleRangking'; 
var mf = 'femaleRangking'; 

$.ajax({ 
    url : 'ajax/ajax_drill.php', 
    type : 'post', 
    cache : false, 
    dataType:'json', 
    data :{ mr : mr , mf : mf , event_id : event_id}, 
    success:function(data){ 
     alert(data.mr); 
     alert(data.mf); 
    } 
}); 
} 
getMaleRanking(); 
+0

這是我需要的,謝謝 –

+0

它的工作原理,但我chaned $ response ['mf '] => $ secondval to $ response ['mf']。= $ secondval; –

+0

啊好吧...我得到了CR,但它來自匿名用戶 –

0

逗號分隔值,如

if(isset($_POST['mr'])){ 
    foreach ($resultMergeMale as $key => $value) { 
     $firstval = $value; 
     //get this first val 

    } 

} 

if(isset($_POST['mf'])){ 
    foreach ($resultMergeFem as $key => $value) { 
     $secondval = $value 
     //get this seaond val 
    } 
} 

echo $firstval.",".$secondval 

然後在你的Ajax調用中,

success:function(data){ 
     var rankings = data.split(","); 
     var firstval = rankings[0]; 
     var secondval = rankings[1]; 
     //your logic here 
    }