我正在进行 ajax 调用,这里我没有发送任何数据,我正在获取数据作为响应,之前的请求已经设置了这些数据。在服务器端,我正在构建 jsonObject 并发送,我应该使用 application/x-json 或 text/x-json 的 contentType 是什么,因为我的所有数据都是文本。
问问题
673 次
2 回答
2
这应该很容易搜索到您,但无论如何: 正确的 JSON 内容类型是什么?
(TL;DR: JSON 文本的 MIME 媒体类型是application/json
)
于 2012-11-16T09:16:17.803 回答
1
在服务器端,您应该返回:MediaType.APPLICATION_JSON(如果您使用的是 jersey java)。
在客户端(js)上,您应该使用数据类型:“JSON”。 (不是 content type ,因为 content type 用于指定您发送到服务器的数据类型,而 datatype 是您期望服务器响应的数据类型)。
例子:
1.服务器端(jersey 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 包含普通文本,这也将起作用。
于 2012-11-16T09:37:32.920 回答