2012-11-07 273 views
1

我有一个页面,通过AJAX提交一些数据到另一个页面,在那里它被处理并使用json_encode PHP函数返回。从JSON对象获取值

在我原来的页面,在AJAX功能上的成功,我取回数据并把它放在警报来测试像这样:

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

警报输出的格式如下:

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

不,我需要抓住这个对象的每个部分,并使用jQuery与他们做些什么。我如何得到它们?我试过:数据 - >但它打破了我的JS代码...有点困惑。

回答

5

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

然后使用data.iddata['id']读取ID参数

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

当你的数据例如{"some name":9}data['id']结构是有益的。

+1

如果警报是给你的 '{ “ID”:2, “项目”: “我的文本字符串”}' 你不是处理一个JSON对象。 – bluetoft

1

您的提醒告诉我,您没有要处理的对象......但只是一个字符串。 您需要首先将数据解析为JSON对象。

http://jsfiddle.net/QNu9Y/

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


(function(data){ 
    var parsed = JSON.parse(data) 
    alert(parsed.id) 
     })(d)