有许多“标准”为“标准”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类型?


当前回答

当然,对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);
    }
};

其他回答

贾森:

根据在 URL 中传递的查询参数, 回复是动态生成的数据 。

示例:

{ "Name": "Foo", "Id": 1234, "Rank": 7 }

内容类型 : application/json


JSON -P: 贾森 -P:

JSON用垫子。回应是 JSON数据, 并有一个功能电话围绕它。

示例:

functionCall({"Name": "Foo", "Id": 1234, "Rank": 7});

内容类型 : application/javascript

application/json”是正确的JSON内容类型。

def ajaxFindSystems = {
  def result = Systems.list()
  render(contentType:'application/json') {
    results {
      result.each{sys->
        system(id:sys.id, name:sys.name)
      }
    }
    resultset (rows:result.size())
  }
}

我用下面的用法

contentType: 'application/json',
data: JSON.stringify(SendData),

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

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

IANA 亚非那JSON 正式注册的 MIME 类型为 JSONapplication/json.

当被问及为何不问时text/jsonCrockford似乎已经说Jsonon其实不是 JavaScript 或文本,application/*大于text/*.

更多资源: