2008-09-21 5 views
117

У меня есть веб-сервис, который при вызове без указания обратного вызова возвращает строку JSON с использованием application/json в качестве типа содержимого.Лучший тип контента для обслуживания JSONP?

Когда обратный вызов указан, он будет обертывать строку JSON в функции обратного вызова, так что это не действительно действительно JSON. Мой вопрос в том, должен ли я служить в качестве application/javascript в этом случае или использовать application/json?

ответ

142

Используйте application/javascript, таким образом клиенты могут полагаться на контент-тип без необходимости вручную проверять, имеет ли отклик ответ или нет.

+1

Он терпит неудачу в IE 9 с сообщением «SEC7112: Сценарий из http://xyz.com был заблокирован из-за несоответствия типа мим «Любая идея, почему? – 2011-09-12 20:05:05

+0

Тип контента «application/javascript» может не совпадать с «text/javascript», указанным в теге скрипта (или по умолчанию по умолчанию) по умолчанию. – 2013-03-26 21:18:12

115

Используйте application/jsonas per rfc4627.txt, если вы вернетесь, просто JSON.

Если вы возвращаете JavaScript (который на самом деле то, что JSONP есть), а затем использовать application/javascriptas per rfc4329.txt