有许多“标准”为“标准”Json Json (Json Json) (Json Json Json) (Json Json) Json Json (Json Json) Json (Json) Json (Json) Json (Json) Json (Json) Json (Json) Json (Json) Json(Json) Json (Json) Json (Json) Json(Json) Json (Json) Json内容类型 :

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

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

相关:如果JSON被AST API送回来 是什么MIME类型?


当前回答

如果您正在从客户端拨打 ASP. NET 网络服务,您必须使用application/json我相信这对...jj 查询Ext Ext框架。

其他回答

正如许多其他人已经提到的那样,application/json是正确答案。

但还没有被解释的是你提出的其他选择 意指什么

  • application/x-javascript: JavaScript 以前 JavaScript 的实验 MIME 类型application/javascript成为标准。

  • text/javascript:现在过时。你应该使用application/javascript当使用 Javaramps 时。

  • text/x-javascript:上述情况下的实验性MIME类型。

  • text/x-jsonJSON 之前的实验 MIME 类型application/json正式注册。

总的来说,当你对内容类型有任何疑问时,你应该检查此链接

当然,对JSON来说正确的MIME媒体类型是application/json,但有必要了解在您的应用程序中预期会收到何种类型的数据。

例如,我使用Ext GWT 离 GWT服务器响应必须以文本/ html但包含JSON的数据。

客户端, Ext GWT 窗体收听器

uploadForm.getForm().addListener(new FormListenerAdapter()
{
    @Override
    public void onActionFailed(Form form, int httpStatus, String responseText) 
    {
        MessageBox.alert("Error");
    }

    @Override
    public void onActionComplete(Form form, int httpStatus, String responseText) 
    {
        MessageBox.alert("Success");
    }
});

使用申请/日文响应类型,浏览器建议我保存文件。

服务器侧端源代码片断使用春春MVC

return new AbstractUrlBasedView() 
{
    @SuppressWarnings("unchecked")
    @Override
    protected void renderMergedOutputModel(Map model, HttpServletRequest request,
                                           HttpServletResponse response) throws Exception 
    {
        response.setContentType("text/html");
        response.getWriter().write(json);
    }
};

目前的适当标准是application/json。默认编码是 UTF-8,但值得一提的是,它也可以是 UTF-16 或 UTF-32. 当 JSON 以 UTF-16 或 UTF-32 书写时,必须使用二进制内容转移编码。

有关JSON在RFC 4627: JavaScript 对象标记(JSON)的应用/json媒体类型

有关二进制传输编码的更多信息正在打开5. 内容转让-编码信头字段(RRC 1341)。

仅在使用时application/json作为米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米(截至2011年11月,有最新版本的Chrome、Firefox和火虫):

  • 当 JSON 从服务器上装入时, Chrome 不再发出警告 。
  • Firebug 会在回复中添加一个标签, 显示您格式化的 JSON 数据。 如果 MIME 类型不同, 它只会显示为“ 响应内容 ” 。

如果您在客户端环境中, 调查交叉浏览器支持是强制的, 对于一个支持良好的网络应用程序来说 。

正确的 HTTP 内容类型application/json,正如其他人也已经强调过, 但有些客户对它处理得不好, 这就是为什么jQuery建议默认text/html.