Facebook Javascript FB.api - обратный вызов не вызывается по ошибке - PullRequest
2 голосов
/ 20 мая 2010

У меня проблема с 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);
});

Работает нормально, например, до «город» - несуществующий город; тогда функция обратного вызова никогда не вызывается.

Если я изучу AJAX-запрос, сделанный с помощью сетевой панели firebug, я увижу следующее:

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

Документы, кажется, показывают, что я делаю это правильно: http://developers.facebook.com/docs/reference/javascript/FB.api

Кто-нибудь почему функция обратного вызова не вызывается, и как я могу поймать ошибку?

1 Ответ

3 голосов
/ 24 мая 2010

Чтобы ответить, почему не вызывается обратный вызов: Соответствующий обратный вызов выполняется для меня в Chrome, но не в Firefox, поэтому я думаю, что это связано с тем, как обрабатываются обратные вызовы для ответа HTTP 500 в некоторых браузерах.

Вы также увидите, что обратный вызов зарегистрирован правильно, если вы вручную запустите этот ответ в консоли JavaScript, он должен соответствующим образом обработать ошибку.

Все еще не уверен, как заставить это работать, хотя я подозреваю, что должны быть обновления JavaScript SDK.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...