所以,在我看来这应该很简单......我有一个通过Ajax帖子返回的有效JSON字符串:
{"success":true,"message":"Thank you! We value your feedback."}
而我只是想把我的“消息”值提醒到我的结果回复:
success: function (result) {
alert(result);
var obj = $.parseJSON(result);
alert(obj.message);
},
error: function (req, status, error) {
alert("Sorry! We could not receive your feedback at this time.");
}
我的“obj”属性在某种程度上无法被识别.....我已经验证了JSON字符串以确保它是有效的,所以我在这里缺少什么?
答案 0 :(得分:6)
您不需要解析您的JSON。将dataType
属性设置为json
,jQuery将为您解析它。然后,result
基本上是您的JSON,您可以alert(data.message);
。
jQuery.ajax({
...
dataType: "json",
success: function(data) {
alert(data.message);
},
...
});
答案 1 :(得分:1)
在这种情况下可能发生的是jQuery已经将结果视为JSON对象。如果您的服务器返回MIME类型为application/json
的数据,jQuery将检测您是否返回JSON并将结果设置为javascript对象而不是字符串。