我试着整天寻找解决方案,但我不能让你成为我最后的希望! 我使用FB.api作为嵌套请求,我得到了响应(已经检查了console.log,响应没问题)。问题在于,当我试图访问响应的数据时,我得到了未定义的错误,例如响应是空的。 功能。当我试图获得例如响应长度时,我什么也得不到。有任何想法吗?这是我从console.log获得的错误 未捕获的TypeError:无法读取属性' length'未定义的
FB.api(
'/me',
'GET',
{"fields":"likes.limit(100) {link,picture}"},
function(response) {
if (response == "undefined" || response == null || !response || response.error)
{
alert("error occured");
return;
}
console.log(response);
for (var l = response.data.length, i = 0; i < l; i++) {
}});
部分回复
{
"likes": {
"data": [
{
"link": "https://www.facebook.com/G-Pappas-1881854208706899/",
"picture": {
"data": {
"is_silhouette": false,
"url": "https://scontent.xx.fbcdn.net/hprofile-xlp1/v/t1.0-1/p50x50/1909968_1936509979907988_8060180335068327040_n.jpg?oh=368e10a9ab58ad0f337647ec6187f204&oe=5723AD5D"
}
},
"id": "1881854208706899"
},
{
"link": "https://www.facebook.com/FOODMATES-112425739139239/",
"picture": {
"data": {
"is_silhouette": false,
"url": "https://scontent.xx.fbcdn.net/hprofile-xpt1/v/t1.0-1/p50x50/12565389_129926077389205_1734904915451564294_n.jpg?oh=e76b99b775f94a9291a8d3f97aaead06&oe=5727BF7C"
}
},
"id": "112425739139239"
},
{
"link": "https://www.facebook.com/ARKAS-The-Original-Page-352589524877216/",
"picture": {
"data": {
"is_silhouette": false,
"url": "https://scontent.xx.fbcdn.net/hprofile-xta1/v/t1.0-1/p50x50/1381313_352855468183955_671412865_n.jpg?oh=8bbdbfce5d0e34a1120ca9b3e3d1c22d&oe=576B0804"
}
},
"id": "352589524877216"
},
答案 0 :(得分:1)
看起来您没有使用正确的点符号表示响应。
数据数组嵌套在like中。所以要访问您需要的数据: 的 response.likes.data.length 强>
所以要使用它,尝试这样的事情:
console.log(response);
for (var l = response.likes.data.length, i = 0; i < l; i++) {
response.likes.data[i]
}
编辑:这是一个jsfiddle链接,其中包含正确的点符号示例,其中包含以下信息:https://jsfiddle.net/b7r2qtre/