为什么我不能访问为json
问题描述:
我有一个test.php
这样的数组。为什么我不能访问为json
Array(
[0] => Array
(
[id] => 1
[name] => nikhil
[password] => 81dc9bdb52d04dc20036dbd8313ed055
)
[1] => Array
(
[id] => 2
[name] => akhil
[password] => 81dc9bdb52d04dc20036dbd8313ed055
)
)
我把它转换成JSON和回声它
$jsonformat = json_encode($array);
echo $jsonformat;
然后我得到一个JSON字符串,这样就test.php
[{
"id": 1,
"name": "nikhil",
"password": "81dc9bdb52d04dc20036dbd8313ed055"
},{
"id": 2,
"name": "akhil",
"password": "81dc9bdb52d04dc20036dbd8313ed055"
}]
现在,我怎么能访问作为JSON使用此字符串AJAX呼叫。我想只访问这个JSON对象的第一行的名称。我试过这个:
$.ajax({
type: 'post',
url: '/test.php',
datatype: 'JSON',
success: function(result) {
alert(result[0].name);
}
});
但是这是行不通的。有什么建议么?
答
Javascript区分大小写。您将数据类型设置为json
,以便jQuery知道该返回的结果并自动解析它。
但是,数据类型的正确密钥是dataType
而不是datatype
。
因此,你需要:
$.ajax({
type: 'post',
url: '/test.php',
dataType: 'JSON',
success: function(result) {
alert(result[0].name);
}
});
+2
是的,这是正确的。我已经检查过它,现在代码工作。 +1 –
你到达'success'功能(是你的JSON有效...)?如果是这样,'result'包含什么,'console.log(result);'? – jeroen
'成功:功能(结果){ var data = $ .parseJSON(result); alert(data.name);} //或者尝试一次alert(data [0] .name) });' –
顺便说一下,您可能只需要将'datatype'更改为'dataType'来确保jQuery自动分析返回的json。 – jeroen