0

PHP json_encode 作为 AJAX var“结果”:

[{"id":"139","assettypeid":"3","name":"skin1","body":"skin1.jpg"}]

我正在尝试访问每个属性,但我不能:

for (var i =0;i < result.length-1;i++)
{
  var item = result[i];
  console.log (item.id + item.name + item.body);
}

我所看到的是:

NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
...

而且迭代太多了……正如您在上面的 JSON 中看到的,应该只有 4 个循环。

4

3 回答 3

3

你需要使用 JSON.parse

var items = JSON.parse(result)

http://www.json.org/js.html

于 2012-04-26T21:16:50.317 回答
1

更新:

我修改了答案以创建对 PHP 或 Ruby 等服务器端文件的 JSON 调用。如果您使用的是 jQuery,请尝试以下操作:

$.ajax({
    url: 'http://url-of-your-server-side.com/server-side-file-name.php',
    dataType: 'jsonp',
    jsonp: 'jsoncallback',
    success: function(data) {
        $.each(data, function(i,item){
            console.log (item.id + item.name + item.body);
        });
    error: function(){
        // execute upon failure
    }

Data 是保存 ajax 请求提供的数组的变量。

于 2012-04-26T21:10:49.517 回答
0
for(var item in result){
    console.log(item.id, item.name, item.body);
}
于 2012-04-26T21:16:07.973 回答