0

Facebook 자바 스크립트 SDK의 결과로 작업 중이며 객체의 "첨부 파일"부분이 문제가됩니다. 객체를 볼 때 모든 것이 좋지만 내 웹 사이트에 표시하려고하면 이러한 속성이 정의되지 않는다고 말합니다. 내가 잘못 파싱합니까? 여기 Facebook 객체의 일부가 정의되지 않은 상태로 표시되지만 정의되지 않았습니다.

이 개체의 :

{ 
"id":"xxx_xxx", 
"from":{ 
    "id":"xxxx", 
    "name":"User Name" 
}, 
"to":{ 
    "data":[{ 
     "name":"Group Name", 
     "id":"xxxx" 
    }] 
}, 
"picture":"url of image", 
"link":"url", 
"object_id":"Object ID", 
"type":"photo", 
"created_time":"2014-10-15T21:09:19+0000", 
"updated_time":"2014-10-15T21:09:19+0000", 
"attachments":{ 
    "data":[{ 
     "media":{ 
      "image":{ 
       "height":551, 
       "src":"Image Source", 
       "width":720 
      } 
     }, 
     "target":{ 
      "id":"742450405803347", 
      "url":"target URL" 
     }, 
     "type":"photo", 
     "url":"URL" 
    }] 
} 

그리고 여기에 웹 사이트의 "첨부 파일"부분을 표시하는 코드이다 (나는 그것이 더러운 알고, 그 무시하십시오) :

post_div_html += '<p>------------------</p>\ 
       <p><b>Media-Image-Source</b>: ' + feed.attachments.data[0] + '</p>\ 
       <p><b>Target URL</b>: ' + feed.attachments.data[1] + '</p>\ 
       <p><b>Type</b>: ' + feed.attachments.data[2] + '</p>\ 
       <p><b>URL</b>: ' + feed.attachments.data[3] + '</p></div>'; 

을 이제 막 명확히하기 위해, 거기에 보이는 것은 내 웹 사이트의 값으로 '정의되지 않은'결과를 표시합니다. 내가 시도한 다른 모든 것은 'feed.attachments.data.whatever undefined'라는 오류가 발생했습니다.

누구나 내가이 물건을 어떻게 표시해야하는지에 대한 아이디어가 있습니까?

+0

은, 그것은 단지 하나 개의 요소가 0보다 높은 색인. 다른 것 (예 : 코드에서와 같이 1, 2 및 3)이 확실하게 * 정의되지 않았습니다. * – Phil

답변

1

나는

var att = feed.attachments.data[0], 
    mediaImageSrc = att.media.image.src, 
    targetUrl = att.target.url, 
    type = att.type, 
    url = att.url; 

나는 그 말이 희망 ... 당신이 원하는 것을 생각한다. 당신이 사용할 수 있도록 feed.attachments.data`가 배열이 참으로 '동안

다음

작업의 예입니다 ... 우선 들어

var feed = { 
 
    "id": "xxx_xxx", 
 
    "from": { 
 
    "id": "xxxx", 
 
    "name": "User Name" 
 
    }, 
 
    "to": { 
 
    "data": [{ 
 
     "name": "Group Name", 
 
     "id": "xxxx" 
 
    }] 
 
    }, 
 
    "picture": "url of image", 
 
    "link": "url", 
 
    "object_id": "Object ID", 
 
    "type": "photo", 
 
    "created_time": "2014-10-15T21:09:19+0000", 
 
    "updated_time": "2014-10-15T21:09:19+0000", 
 
    "attachments": { 
 
    "data": [{ 
 
     "media": { 
 
     "image": { 
 
      "height": 551, 
 
      "src": "Image Source", 
 
      "width": 720 
 
     } 
 
     }, 
 
     "target": { 
 
     "id": "742450405803347", 
 
     "url": "target URL" 
 
     }, 
 
     "type": "photo", 
 
     "url": "URL" 
 
    }] 
 
    } 
 
}; 
 

 
var att = feed.attachments.data[0], 
 
    mediaImageSrc = att.media.image.src, 
 
    targetUrl = att.target.url, 
 
    type = att.type, 
 
    url = att.url; 
 

 
post_div_html = '<p>------------------</p>\ 
 
       <p><b>Media-Image-Source</b>: ' + mediaImageSrc + '</p>\ 
 
       <p><b>Target URL</b>: ' + targetUrl + '</p>\ 
 
       <p><b>Type</b>: ' + type + '</p>\ 
 
       <p><b>URL</b>: ' + url + '</p></div>'; 
 
document.getElementById('out').innerHTML = post_div_html;
<output id="out"></output>

+0

우수, 감사합니다! –

관련 문제