2

我对 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

任何人为什么不调用回调函数,以及如何捕获错误?

4

1 回答 1

3

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

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

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

于 2010-05-24T15:02:12.300 回答