Facebook Javascript FB.api - 错误时未调用回调

标签 facebook facebook-graph-api

我的 FB.api 有问题

我正在打电话来创建一个事件,大致如下:

 FB.api('/me/events', 'post', {
    access_token: $('#access_token').attr('value'),
    name: td.find('#event_name').attr('value'),
    description: td.find('#description').attr('value'),
    start_time: td.find('#event_start').attr('value'),
    end_time: td.find('#event_end').attr('value'),
    street: td.find('#venue_street').attr('value'),
    city: td.find('#venue_city').attr('value'),
    country: td.find('#venue_country').attr('value')
    }, function(response){
        console.log(response);
});

它工作正常,直到例如“城市”是一个不存在的城市;那么回调函数永远不会被调用。

如果我检查使用 firebug 的网络面板发出的 AJAX 请求,我会看到以下响应:

FB.ApiServer._callbacks.f37cab142051f02({
    "error": {
      "type": "Exception",
      "message": "(#151) Unknown city"
    }
}); 

文档似乎表明我做得正确: http://developers.facebook.com/docs/reference/javascript/FB.api

有人知道为什么回调函数没有被调用,以及我如何捕获错误吗?

最佳答案

要回答为什么回调没有被调用: 在 Chrome 中为我执行了适当的回调,但在 Firefox 中则没有,因此我认为这与某些浏览器中处理 HTTP 500 响应的回调的方式有关。

您还会看到回调已正确注册,如果您在 JavaScript 控制台中手动运行该响应,它应该会正确处理错误。

仍然不确定如何让它工作,我怀疑需要更新 JavaScript SDK。

关于Facebook Javascript FB.api - 错误时未调用回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2874886/

相关文章:

facebook - 邀请网站访问者无需应用程序即可共享

javascript - 为什么 PhoneGap 应用程序中 iframe 内的链接不起作用?

java - 如何在 Facebook 受众网络插页式广告中设置点击计数器?

javascript - 通过 id 获取 Facebook 评论

来自 node.js 的 Facebook access_token 失败

php - Facebook 抓取网站时执行 Javascript

facebook - 套接字IO |如果客户端重新打开连接,如何将其重新连接到同一个房间?

objective-c - 如何在 Facebook iOS SDK 上存储多个分值

facebook - 您如何从 Facebook Graph API(服务器端身份验证)获取长期访问 token ?

jquery - 使用 jQuery 获取 JSON Facebook Graph API 用户信息