Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Применение библиотек > Не работает callback-функция ajax jsonp запроса |
Автор: zodiac 17.6.2013, 14:20 | ||
Здравствуйте! Столкнулся со странной проблемой: никак не хочет вызываться callback функция, когда я пытаюсь сделать кроссдоменный GET jsonp запрос на сервер. Ответ сервера - полностью валидный json, который прекрасно парсится и понимается jquery. При попытке посмотреть сообщения об ошибках я получаю следующее: - содержимое textStatus: parseerror - содержимое errorThrown: jsonpCalback was not called Код ajax-запроса:
В процессе решения чего только не пробовал: по советам со StackOverflow ставил jsonp:false, пробовал указывать jsonpcall глобально (window.jsonpcall=function...), пробовал использовать простой $.getJSON и множество других телодвижений, которые, однако, не помогли. Имя callback-функции успешно подставляется в url, но вызывается fail(). Помогите разобраться, пожалуйста, совершенно не знаю, что с этим делать :( |
Автор: zodiac 17.6.2013, 14:44 | ||||||
Все в порядке, проблема решена неожиданным способом. Решение При jsonp запросах ответ сервера не должен представлять собой json-объект. Это должна быть функция, параметром которой передан валидный json. Для примера, когда jquery-код имеет следующий вид...
...сервер должен отдать ответ в следующем формате:
Со стороны php-кода это выглядит так:
Надеюсь, кому-то данная информация окажется полезной и не заставит тратить пять часов ![]() |
Автор: Staind 16.10.2014, 14:25 |
zodiac, спасибо, что отписался. Помог разобраться. |