我有以下代码实现来捕捉用户留下评论时的事件。它正确地启动了,但问题是我不知道如何解析传递给回调函数的对象。
<script>
window.fbAsyncInit = function () {
FB.init({ appId: <myAppId> , status: true, cookie: true, xfbml: true });
FB.Event.subscribe( comment.create , function () {
FB.api( /comments/?ids=http://foo.com , function (response) {
console.log(response);
});
});
};
(function () {
var e = document.createElement( script ); e.async = true;
e.src = document.location.protocol + //connect.facebook.net/en_US/all.js ;
document.getElementById( fb-root ).appendChild(e);
} ());
</script>
查看firebug中的控制台日志,console.log(response)
显示了以下对象:
{
"http://foo.com": {
"data": [
{
"id": "10150090820621770_15631060",
"from": {
"name": "Test User",
"id": "1234455"
},
"message": "testing",
"created_time": "2011-04-18T01:55:38+0000"
},
{
"id": "10150090820621770_15631066",
"from": {
"name": "Test UserToo",
"id": "1149043581"
},
"message": "testing2",
"created_time": "2011-04-18T01:56:12+0000"
}
]
}
}
但是,如果我尝试访问带有<code>response.data[0].from.name</code>的对象,我会返回<code>undefined</code〕。此外,以下所有返回的<code>undefined</code>也是:
response.data
response.data.length
response.data[0]
我不知道如何解析对象来读取属性。有人有什么建议吗?