jQuery .ajax () с jsonp не вызывает успешную функцию обратного вызова - PullRequest
6 голосов
/ 12 сентября 2011

У меня есть приложение iframe на Facebook, которое отправляет междоменный запрос на мой сервер и запрашивает данные в формате JSONP.Это мой клиентский код:

jQuery.ajax({
                url: '***',
                type: 'post',
                data: {
                    method: 'set_user_prizes'
                },
                dataType: 'jsonp',
                jsonp: false,
                jsonpCallbackString: 'callback123',
                success: function(data, textStatus, jqXHR){
                    console.log('success_function');
                    console.log(data);
                }
});

Проблема в том, что мой метод обратного вызова успешно не вызывается, и я не уверен, почему.С помощью Firebug я вижу ответ моего сервера:

callback123({"success":true,"associated_prizes":[{"prizes_id":"6"},{"prizes_id":"1"}]})

Ответы [ 2 ]

6 голосов
/ 12 сентября 2011

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

Изменение:

jsonpCallbackString: 'callback123',

до

jsonpCallback: 'callback123',
4 голосов
/ 18 октября 2012

Правильный ответ

jsonpCallback: 'callback123'
...