我在从场地搜索中读取JSON数据时遇到问题。这是我的代码:
xmlhttpRC = new XMLHttpRequest();
url = "https://api.foursquare.com/v2/venues/explore?ll="+pointStrr+"&oauth_token=V5PI2GJ0KDOVH2GAHNHJ5DVLMRKNF440FR1N1HPG0XHX2OBQ&v=2015643&
callback=JSONP";
xmlhttpRC.open("GET", url, true);
xmlhttpRC.onreadystatechange = recCb;
xmlhttpRC.send(null);
//return recommendedArr;
}
function recCb(data){
//console.log(data);
if(xmlhttpRC.readyState == 4){
if(xmlhttpRC.status == 200){
var recRes = xmlhttpRC.response;
console.log(recRes);
//console.log(recRes);
console.log(recRes.meta.code);
}
}
}
我得到了我对服务器的反应,firebug告诉我返回了一个JSON对象,但我不知道如何从这里访问数据。
console.log(recRes.meta.code)返回错误:
“recRes.meta未定义”
我哪里错了? 我想访问场地信息,但我只是使用meta.code作为一个简单的测试。 这可能很简单,但我很难过!
提前致谢, 罗斯。
答案 0 :(得分:1)
您需要解析JSON。现代浏览器内置了JSON.parse,旧版本的IE等等 - 你理论上可以使用eval(响应),但它会造成安全漏洞。
如果您不能依赖拥有现代浏览器的用户,请答案 1 :(得分:0)
var decodedResp = JSON.parse(recRes);
if (decodedResp.meta.code === ...)
JSON-object只是JS对象的表示,请参阅;它应该先解析。