1

我有一个页面通过 AJAX 将一些数据提交到另一个页面,在该页面中使用 json_encode PHP 函数对其进行处理并返回。

在我的原始页面上,在 AJAX 函数中,成功后我会取回数据并将其置于警报状态以进行如下测试:

success: function(data){
   alert(data);
}

警报输出格式如下:

{"id":2,"item":"my text string"}

不,我需要抓取这个对象的每个部分并使用 jQuery 对它们做一些事情。我如何得到它们?我试过: data-> 但它破坏了我的 JS 代码......有点困惑。

4

2 回答 2

5

首先,确保你得到的数据被 jQuery 解析为 json,使用dataType设置。

然后使用data.idordata['id']来读取 id 参数

$.ajax({
    url: 'someurl',
    dataType: 'json', // precise this
    success: function(data){
       var id = data.id;
       var item = data.item;
       alert(item);
    }
});

例如data['id'],当您的数据是{"some name":9}.

于 2012-11-07T20:43:09.420 回答
1

您的警报告诉我您没有正在处理的对象......而只是一个字符串。您需要先将数据解析为 JSON 对象。

http://jsfiddle.net/QNu9Y/

d= '{"id":2,"item":"my text string"}';


(function(data){
    var parsed = JSON.parse(data)
    alert(parsed.id)
       })(d)
于 2012-11-07T20:45:47.260 回答