0

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

4

2 回答 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 回答