我遇到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
为什么没有调用回调函数,以及如何捕获错误?
答案 0 :(得分:3)
回答无法调用回调的原因: 我正在Chrome中执行适当的回调,但不是Firefox,因此我认为这与在某些浏览器中处理HTTP 500响应的回调方式有关。
您还会看到正在正确注册回调,如果您在JavaScript控制台中手动运行该响应,它应该适当地处理错误。
仍然不确定如何让它工作,我怀疑需要更新JavaScript SDK。