当我执行一个功能,“警报”的数据从一个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