Что означает «P» в JSONP? - PullRequest
       78

Что означает «P» в JSONP?

1 голос
/ 01 сентября 2011

Я не могу найти однозначного ответа на этот вопрос - что означает p в JSONP ?.Кандидаты, которых я нашел до сих пор - padding и prints.Кто-нибудь знает, откуда появилось имя JSONP?

Ответы [ 5 ]

7 голосов
/ 01 сентября 2011

Перетяжка.

от http://en.wikipedia.org/wiki/JSONP

JSONP или "JSON with padding" является дополнением к базовым данным JSON формат, шаблон использования, позволяющий странице запрашивать данные из сервер в другом домене. JSONP является решением этой проблемы, формируя альтернативу более позднему методу под названием Cross-Origin Совместное использование ресурсов. Перетяжка

Хотя заполнение (префикс) обычно является именем обратного вызова функция, которая определена в контексте выполнения браузера, это также может быть присвоение переменной, оператор if или любой другой Javascript заявление. Ответ на запрос JSONP (а именно, запрос в соответствии с шаблоном использования JSONP) не является JSON и не анализируется как JSON; возвращаемая полезная нагрузка может быть произвольным JavaScript выражение, и он не должен включать в себя JSON вообще. Но условно, это фрагмент Javascript, который вызывает функцию вызовите некоторые данные в формате JSON.

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

Надеюсь, это помогло. Google выигрывает!

3 голосов
/ 01 сентября 2011

Stone

Что я знаю, это расшифровывается как «Padding». В Википедии есть объяснение: JsonP

Что это делает?

Это дает вам возможность сделать запрос CROSS-DOMAIN и получить возвращенные данные JSON. Обычно с помощью тега HTML script вы вызываете другой JavaScript.

Но JsonP предоставляет вам функцию обратного вызова, и вы можете вернуть noraml Json response.

Пример:

Вы создаете тег сценария:

  • <script type="text/javascript" scr="http://anotherDomain/Car?CarId=5&jsonp=GiveCarResponse"></script>

В этом сценарии GiveCarResponse является функцией обратного вызова в другом Домене. Вызов этой функции приведет к ответу Json. Например:

{"CarId":5, "Brand":"BMVV", "GAS": false}

Имеет ли это смысл?

1 голос
/ 01 сентября 2011

Умм ... вы видели страницу википедии , и вы не доверяете ее точности?

Этот сайт стандартов , кажется, подтверждает "с отступом".

1 голос
/ 01 сентября 2011

Из википедии это означает "заполнение" (или заполнением).

http://en.wikipedia.org/wiki/JSONP

0 голосов
/ 01 сентября 2011

Это в основном означает добавление вызывающей функции вокруг JSON.AJAX может быть вызван только с вашего собственного сервера и не является междоменным.Таким образом, чтобы загрузить данные с разных серверов на стороне клиента, вы делаете запрос JSONP, в основном вы загружаете обычный файл javascript с другого сервера так же, как вы включаете обычный файл javascript.Хотя JSON не является допустимым файлом javascript, JSON помещается в вызов функции, чтобы сделать его действительным файлом js.затем свернутая функция (уже в вашем коде) извлекает эти данные и отображает их на вашей странице.

...