JSONP требует модификаций сервера?

Я понимаю, что jsonp является техникой для обхождения той же политики источника. Вы в основном отсылаете к своему json служащую конечную точку сервера в теге script, потому что теги script освобождены от ТАК политика.

Мой вопрос: Принятие сервера имеет конечную точку, которая подает json, есть ли какие-либо модификации, необходимые на сервере для использования jsonp в клиенте?

Я думаю не, но хочу быть уверенным....

31
задан hippietrail 22 December 2011 в 09:11
поделиться

1 ответ

Да, JSONP немного отличается при рендеринге, поэтому ваш сервер должен его поддерживать.

JSON выглядит так:

{ "name": "value" }

В то время как JSONP выглядит так:

functionName({ "name": "value" });

Если все, что вы используете, поддерживает это, вы покрыты, но это не то же самое, что поддержка только JSON. Когда сервер получает запрос, например: http://example.com/json?callback=functionName , вы должны отобразить приведенное выше, потому что на странице это выглядит так:

<script type="text/javascript" src="http://example.com/json?callback=functionName"></script>

Это означает, что что-то, что выполняется, должно быть возвращено, как иллюстрация, это действительно:

<script type="text/javascript">
  functionName({ "name": "value" });
</script>

Если ваш сервер не поддерживает JSONP, это будет фактически так:

<script type="text/javascript">
  { "name": "value" }
</script>

... и вы будут синтаксические ошибки, так как это недопустимый JavaScript.

36
ответ дан 27 November 2019 в 22:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: