如果响应中发送了json对象,应该为contentType设置什么

时间:2012-11-16 09:11:32

标签: json contenttype

我正在进行ajax调用,这里我没有发送任何数据我正在获取数据,因为前面的请求已经设置了数据。在服务器端我正在构建jsonObject并发送,什么是contentType我应该使用application / x-json或text / x-json,因为我的所有数据都是文本。

2 个答案:

答案 0 :(得分:2)

这应该很容易搜索到你,但无论如何: What is the correct JSON content type?

TL; DR: JSON文本的MIME媒体类型为application/json

答案 1 :(得分:1)

在服务器端,您应该返回: MediaType.APPLICATION_JSON (如果您使用的是jersey java)。

在客户端(js),您应该使用数据类型:“JSON”。 (不是内容类型,因为内容类型用于指定要发送到服务器的数据类型,而数据类型是您希望服务器响应的数据类型)。

示例:

1。服务器端(泽西java- JAX-RS):

@GET
@Path("/yourpath.json")
@Produces(MediaType.APPLICATION_JSON)
public returnSomething functionName(){
    ...
    ...
}

2。客户端(ajax调用):

$.ajax({
type: "GET",
url: ajaxUrl,
datatype:"JSON",
success: function(jsonData){
    //Do something
},
error: function(jqXHR, textStatus){
    //handle connection errors
}});

即使您的json包含普通文本,这也会有效。