2016-10-11 230 views
1

我有一个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); 
    } 
}); 

但是这是行不通的。有什么建议么?

+0

你到达'success'功能(是你的JSON有效...)?如果是这样,'result'包含什么,'console.log(result);'? – jeroen

+0

'成功:功能(结果){ var data = $ .parseJSON(result); alert(data.name);} //或者尝试一次alert(data [0] .name) });' –

+1

顺便说一下,您可能只需要将'datatype'更改为'dataType'来确保jQuery自动分析返回的json。 – jeroen

回答

3

Javascript区分大小写。您将数据类型设置为json,以便jQuery知道该返回的结果并自动解析它。

但是,数据类型的正确密钥是dataType而不是datatype

因此,你需要:

$.ajax({ 
    type: 'post', 
    url: '/test.php', 
    dataType: 'JSON', 
    success: function(result) { 
     alert(result[0].name); 
    } 
}); 
+2

是的,这是正确的。我已经检查过它,现在代码工作。 +1 –

相关问题