JSON 内容类型有许多“标准 ” :

application/json
application/x-javascript
text/javascript
text/x-javascript
text/x-json

我用哪一种,在哪里?我假设安全和浏览器支持问题是一个因素。

相关:如果JSON被REST API送回,什么MIME类型?


当前回答

对于JSON,我使用:

Content-Type: application/json

工作队JSON数据交换格式7158提案第1.2节:JSON的规格对此作了说明。

其他回答

如果JSON用垫子,那将是申请/jsonp。如果JSON没有划线,那将是申请/json。

要同时处理这两种问题,使用“应用/刺杀”是一种良好做法,无需担心是用垫子还是不用垫子。

给杰森:

Content-Type: application/json

JSON -P: 给JSON -P:

Content-Type: application/javascript

并非所有内容类型应用程序/json都有效。

如果您正在使用 Ext JS 表格提交到上传文件, 请注意, 服务器响应由浏览器解析, 以创建 < iframe > 的文档 。

如果服务器正在使用 JSON 发送返回对象, 则内容- 类型页眉必须设置为文本/ html , 以便告诉浏览器将文本插入文档正文, 未改变 。

见Ext JS 3.4.0 API文件。

右右MIME类型是应用程序/json

但是

我经历过许多浏览器类型或框架用户需要的场景:

text/html

application/javascript

你的问题的一部分 跟我有关 当我刚刚看到它。

第三方供应商正在提供一种供多个客户使用的REST服务。 它是一个直向前方的REST, 配有查询参数, 返回一个完善的JSON。 我用 PHP 和 Java 测试了它的工作原理。

我的客户端使用 Oracle Service Bus 作为他的应用程序服务器和 Internet 之间的网关。 当我使用 Oracle Service Bus 作为 OSB 服务时, 它被无效的信息格式错误崩溃。 结果发现, 返回的内容类型是文本/ html 。 OSB 将回复按此信头处理; 将文本、 XML 和 JSON 转换为文本、 XML 和 JSON 。 在此情况下, 回复是 JSonson , 但信头没有这么说 。 联系提供方时, 我收到回复 : “ 我们不会改变它, 因为不会影响其他人 ” 。

内容- 类型页眉指定内容应该是什么, 而不是实际内容。 也就是说, 在您的消费程序中, 您可以检查或忽略它, 并以任何方式处理内容 。 另一个示例是, 您可以返回 GIF 数据, 但指定内容类型为 JSON, 然后继续忽略页眉, 读取图像数据 。 这不会伤害您的程序, 但可能会伤害其他人 。

故事的道德感:好好表现。