JSON (JavaScript Object Notation) и JSONP ("JSON with padding"), кажется, очень похожи, и поэтому может быть очень запутанным, какой тип MIME они должны использовать , Хотя форматы похожи, между ними есть некоторые тонкие различия.
Поэтому, когда бы ни возникали какие-либо сомнения, у меня есть очень простой подход (который в большинстве случаев работает отлично), а именно, пойти и проверить соответствующий документ RFC.
1010 * JSON *
RFC 4627 (Приложение / json Media Type для JavaScript Object Notation (JSON)) представляет собой спецификации формата JSON. В разделе 6 говорится, что тип мультимедиа MIME для текста JSON -
application/json.
JSONP
JSONP («JSON with padding») обрабатывается в браузере не так, как JSON. JSONP рассматривается как обычный скрипт JavaScript, и поэтому он должен использовать application/javascript,
текущий официальный тип MIME для JavaScript. Однако во многих случаях text/javascript
MIME-тип также будет работать нормально.
Обратите внимание, что text/javascript
помечен как устаревший в документе RFC 4329 (типы сценариев), и вместо него рекомендуется использовать тип application/javascript
. Однако из-за устаревших причин text/javascript
все еще широко используется и имеет поддержку кросс-браузерности (что не всегда имеет место с типом application/javascript
MIME, особенно в старых браузерах).