1
首先,我要指出的問題,基本上我$.each(data, function (i, v) {
代碼中它傳回了一堆被從PHP代碼變量回顯這是使用json_encode
而是試圖把這些當變量甚至alert()
他們它的顯示undefined
我已經嘗試過很多辦法實際顯示的數據,但它總是返回undefined
,我不知道爲什麼,因爲我的代碼似乎有效的我的觀點。JSON/PHP解析不正確
目前的JavaScript代碼,我有如下
$.ajax({
url: "functions/ajax.php",
data: "func=auto",
type: "GET",
dataType: "json",
success: function(data){
$.each(data, function (i, v) {
var name = v['name'];
var player_id = v['id'];
alert(player_id);
});
},
error: function (jqXHR, textStatus, errorThrown){
console.log('Error ' + jqXHR);
}
});
目前PHP代碼,我有如下
$res = $DB->Query("SELECT * FROM `inventory` WHERE `account_id` = '$_SESSION[ID]'");
$data = array();
while($player = $DB->fetch_assoc()) {
$data['name'] = $player['name'];
$data['id'] = $player['player_id'];
}
header('Content-type: application/json');
echo json_encode($data);
只是總結了整個事情了,使用時alert()
上player_id
返回undefined
其中很顯然,我希望它返回正確的值
只有一個在那裏的球員,所以不要'。每()'在它。或者運行'$ data [] = array('name'=> $ player ['name'],'id'=> $ player ['player_id']);' – Wrikken 2013-03-13 21:47:44
這樣工作是因爲我的'while($ player = $ DB-> fetch_assoc()){'返回多個結果? – 2013-03-13 21:50:22
看什麼'$ data'是在當前的腳本。它只會是列表中的最後一名玩家,除非您將記錄追加到'$ data'而不是_overwriting_。 – Wrikken 2013-03-13 21:53:10