What is JSONP, and why was it created?

Я понимаю JSON, но не JSONP. Документ Википедии о JSON является (был) лучшим результатом поиска для JSONP. Это говорит это:

JSONP или "JSON with padding" - это расширение JSON, префикс которого указан в качестве входного аргумента самого вызова.

А? Какой звонок? Это не имеет никакого смысла для меня. JSON - это формат данных. Там нет звонка.

Второй результат поиска получен от парня по имени Remy Sharp, который пишет это о JSONP:

JSONP - это инъекция тега сценария, передающая ответ от сервера пользовательской функции.

Я могу это понять, но это все равно не имеет никакого смысла.


Так что же такое JSONP? Почему он был создан (какую проблему он решает)? И зачем мне это использовать?


Приложение: Я только что создал новую страницу для JSONP в Википедии; теперь у него есть четкое и полное описание JSONP, основанное на jvenema.

12 ответов

Решение

Это на самом деле не так уж сложно...

Допустим, вы находитесь на домене example.com и хотите сделать запрос на домен example.net. Для этого вам нужно пересечь доменные границы, нет-нет в большинстве браузерных стран.

Единственный элемент, который обходит это ограничение - это теги