問題は、firebug を介して既に json の値を確認できることですが、問題はそれをテーブルに追加することです。json_encode を echojson_encode(array('red'=>$red, 'blue'=>$blue));
からに変更json_encode($blue);
して、ajax が実際に機能するかどうかを確認してから、 myをjson_encode($blue);
に変更すると、完全に表示されます私のテーブルですが、青い配列のみで、青と赤の両方の配列が必要です。だから私は何が間違っているか知りたいですか、それとも何かが欠けていますか?toAppend += '<tr><td>'+data.red[i]['warrior_name']+'</td><td>Name</td><td>'+data.blue[i]['warrior_name']+'</td></tr>';
toAppend += '<tr><td>'+data[i]['warrior_name']+'</td></tr>';
これが私のPHPコードです:
//get blue_team attributes
$blue = array();
$blue_result = $db->dataWarrior($battle_id,$blue_name);
foreach($blue_result as $warrior){
$blue[] = $warrior;
}
//get red_team attributes
$red = array();
$red_result = $db->dataWarrior($battle_id,$red_name);
foreach($red_result as $warrior){
$red[] = $warrior;
}
echo json_encode(array('red'=>$red, 'blue'=>$blue));
ここに私のajaxコードがあります:
$.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++){
toAppend += '<tbody>';
toAppend += '<tr><td>'+data.red[i]['warrior_name']+'</td><td>Name</td><td>'+data.blue[i]['warrior_name']+'</td></tr>';
toAppend += '</tbody>';
}
$("#battledata").append(toAppend);
}
}
});