Вы можете просто проверить, что находится внутри объекта Facebook response , потому что он не будет прежним, если запросы были отправлены или нет!
Что-то вроде:
function requestCallback(response)
{
if(response && response.request_ids) {
// Here, requests have been sent, facebook gives you the ids of all requests
//console.log(response);
location.href='step2.php';
} else {
// No requests sent, you can do what you want (like...nothing, and stay on the page).
}
}
Или, если вы используете новую структуру ( Запрос 2.0 Эффективный ):
function requestCallback(response)
{
if(response && response.request) {
// Here, requests have been sent, facebook gives you the request and the array of recipients
//console.log(response);
location.href='step2.php';
} else {
// No requests sent, you can do what you want (like...nothing, and stay on the page).
}
}
Посмотрите на структуру объекта ответа, чтобы определить ваше состояние. Обратный вызов срабатывает, даже когда вы нажимаете close , чтобы иметь возможность заметить, когда ваш пользователь выходит из диалогового окна. Это зависит от вас, чтобы проверить, отправил ли он запросы, и действовать так, как вы хотите! :)
Также кое-что важное :
Facebook обновил свою систему запросов несколько недель назад, сделав доступными «Запросы 2.0» в настройках ваших приложений. По умолчанию он отключен, но если вы его активируете, структура объекта response при отправке запросов людям изменится. Поэтому вам нужно обновить ваше состояние в обратном вызове!
Здесь все объясняется:
http://developers.facebook.com/blog/post/569/