По какой причине я должен использовать JSONP? - PullRequest
4 голосов
/ 06 марта 2012

По какой причине я должен использовать jsonp?

Несколько дней назад я спросил, почему у меня нет ответа от сервера отдыха с jquery.Причина была в том, что я должен использовать JSONP.Я проверил это на собственном сервере, и это сработало.

Теперь я должен убедить моих колледжей, которые контролируют нужный сервер, что вывод должен быть JSONP вместо json.

Только я не знаю точно, почему я должен использовать JSONP?И это только проблема JQuery или это невозможно с Javascript вообще?

Может кто-нибудь помочь мне с этими вопросами?Спасибо

Ответы [ 2 ]

8 голосов
/ 06 марта 2012

JSONP используется для получения данных через междоменный домен AJAX.Ну, не совсем так, JSONP на самом деле немного "взломан".

Запросы AJAX работают только в одном домене, но теги <script> могут быть включены из любого домена.Вот что такое JSONP, на самом деле это файл Javascript, который добавляется в виде тега <script>.

Вот почему в JSONP это callback({data: value}), это исполняемый скрипт.

5 голосов
/ 06 марта 2012

Если запрос AJAX направляется на URL-адрес, подпадающий под так называемую Одинаковую политику происхождения , он обычно не будет работать в большинстве браузеров из-за ограничений встроенного браузера.

Но если вы используете тот же домен , протокол и порт в качестве сервера колледжей, вам не требуется JSONP чтобы делать запросы AJAX, вы можете просто использовать стандартные инструменты AJAX.

Если это не так, JSONP - это стандартная в отрасли методика работы с той же политикой происхождения, но она также требует, чтобы сервер доставлял данные особым образом, чтобы сделать их доступными для клиента.

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