无法访问返回的json对象中的属性
问题描述:
我从ajax请求获得响应,并将request.responseText存储在名为requestData的变量中。 requestData数据包含通过php使用json_encode()传递的json对象。无法访问返回的json对象中的属性
看到我做了一些日志我的波纹管。
requestData : {"status":"ok","to":"","html":"<option value=\"Huberdeau\">Huberdeau<\/option><option value=\"Bo\u00eeleau\">Bo\u00eeleau<\/option><option value=\"Br\u00e9beuf\">Br\u00e9beuf<\/option><option value=\"Saint-R\u00e9mi-d'Amherst\">Saint-R\u00e9mi-d'Amherst<\/option><option value=\"Harrington\">Harrington<\/option>","message":"old"}
我的问题是我无法访问变量状态。以下任何一个电话都不能正确地获得该值。
requestData[status] : undefined
requestData.status : undefined
requestData['status'] : undefined
requestData[0]['status'] : undefined
而当我试图通过日志转储我的变量它把它当作字符串处理。
dump_var :
0:{
1:"
2:s
3:t
4:a
5:t
6:u
7:s
8:"
9::
答
我发现了关于其他问题的评论中的技巧。无论如何,我在这里发布它导致在original discussion中有点难以注意。
var requestData = request['responseText'];
var jsonData = eval("(" + requestData + ")");
答
jQuery中
,而不是$不用彷徨
使用$ .getJSON
$.getJSON(url, function(data){
alert(data.someField);
});
那么你并不需要做的eval!
我不认为你正确地分配JSON响应。显示你的AJAX请求。 – 2012-02-09 21:14:06