我从一个ajax请求得到一个响应,并在一个名为requestData的变量中存储request.responseText。 requestData 数据包含使用json_encode()通过php传递的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
当我尝试通过for log转储我的变量时,它将其视为字符串。
dump_var :
0:{
1:"
2:s
3:t
4:a
5:t
6:u
7:s
8:"
9::
答案 0 :(得分:1)
而不是$ .get
使用$ .getJSON
$.getJSON(url, function(data){
alert(data.someField);
});
然后你不需要做eval !!
答案 1 :(得分:0)
我在另一个问题的评论中找到了诀窍。我在这里发布它是因为它在original discussion中有点难以注意到。
var requestData = request['responseText'];
var jsonData = eval("( " + requestData + ")");