當我執行一個功能,「警報」的數據從一個JSON一個奇怪的事情正在發生。如果我指定,像alert(data.name);
,「警報」返回「未定義」,但如果我只是把alert(data);
,它返回類似{"id":"1","name":"Erluan"}
爲什麼選擇jQuery AJAX。返回值是不確定的?
對象這是接收ID在數據庫搜索功能
function receiveUser(val){
$.ajax({
type:"POST",
url:"../json/userperm/userGrid.php",
data: 'iduser='+val,
datatype:"json",
success: function(data, string, jqXHR){
alert(data.name);
}
});
}
這是userGrid.php
<?php
include('../../config.php');
$user = mysql_query("SELECT * from hospital_".$_SESSION['template'].".users where id = ".$_POST['iduser']." order by name");
$results = array();
while($row = mysql_fetch_array($user))
{
$results[] = array(
'id' => $row['id'],
'name' => $row['name']
);
}
$json = json_encode($results);
echo $json;
?>
謝謝。
由於返回的數據類型是JSON的OP不應該使用JSON.parse @JonathanNewton –
$結果是數組的數組... json_encode之後會對象數組。 所以,在JS中,你需要通過循環來讀取它。 在當前的情況下,你可以嘗試數據[0] .NAME它會工作。 – Naincy
@JonathanNewton jQuery的應該已經被解析時返回 – mhodges