Сведения о вопросе

Faridun

23:30, 19th August, 2020

Теги

javascript   ajax   json   jsonp    

Есть ли причины не использовать JSONP для AJA~X запросов?

Просмотров: 374   Ответов: 4

Если вы создаете приложение AJA~Xy , есть ли какие-либо недостатки в использовании запросов/ответов JSONP , даже если вы не планируете использовать запросы cross-domain ?

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

Редактировать:

Я нашел это , что также предполагает security and error handling в качестве потенциальных проблем...

Там нет обработки ошибок. script injection либо работает, либо нет. Если есть ошибка из injection, она попадет на страницу, и за исключением обработчика ошибок с широким окном (плохо, плохо, очень плохо), вам нужно убедиться, что возвращаемое значение действительно на server side .

Я не думаю, что error handling -это большая проблема... большинство из нас будет использовать библиотеку для создания JSON ... правильность моего ответа не является проблемой для этого вопроса.

и безопасность:

В интернете есть документы, которые могут помочь, но в качестве беглой проверки я бы проверил реферер в скрипте server side .

похоже, что это потенциальная проблема с любым типом ответа... конечно, в сфере безопасности нет ничего уникального для JSONP ...?



  Сведения об ответе

DO__IT

07:52, 20th August, 2020

Обратная сторона? Это довольно ограниченно - вы запускаете запрос "GET" и возвращаете какой-то выполненный скрипт. Вы не получаете обработку ошибок, если ваш сервер выдает ошибку, поэтому вам также нужно обернуть все ошибки в JSON. На самом деле вы не можете отменить или повторить запрос. Вы находитесь во власти различных мнений авторов браузера о поведении "correct" для динамически генерируемых тегов <script> . Отладка несколько сложнее.

Тем не менее, я использовал его при случае, и не пострадал. YMMV.


  Сведения об ответе

PIRLO

01:49, 23rd August, 2020

Возможно получение ошибок при сбое вызова jsonp.

http://code.google.com/p/jquery-jsonp/

Надеюсь, это поможет.


  Сведения об ответе

P_S_S

18:21, 16th August, 2020

Я бы сказал, что самым большим ограничением могут быть дополнительные накладные расходы на то, чтобы браузер отображал тег скрипта для вызова сервера. Кроме того, действительно ли JSONP считается AJAX, поскольку он фактически не использует объект XMLHttpRequest?


  Сведения об ответе

appple

03:13, 14th August, 2020

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

http://neil.fraser.name/news/2009/07/27/


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться