【发布时间】:2015-05-20 10:23:53
【问题描述】:
我正在尝试一个示例,该示例调用一个以“名称”作为输入并发布“hello name”的 RESTful Java Web 服务,如下所示:
@Path("/login")
public class LoginWS {
@POST
@Produces(MediaType.APPLICATION_JSON)
public NameBean getHello( NameBean nb ) throws JSONException{
System.out.println("starting pt");
String output="Hello "+ nb.getName();
nb.setName(output);
return nb;
}
}
这是我用来映射 JSON 数据的 NameBean 类:
public class NameBean {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
在客户端,我使用 ajax 来调用它:
function Invoke(){
$.ajax({
type: "POST",
url: 'http://localhost:8080/OnlineJudgeDemo/api/login/',
data: JSON.stringify({
"name" : $("#haha").val()
}),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data, textStatus, jqXHR){
alert("wow!");
},
error: function(jqXHR, textStatus, errorThrown){
alert("sorry! " + textStatus+errorThrown);
}
});
}
但是,当调用 invoke() 函数时,它会给出 415 Unsupported Media Type 错误。
我已经检查了许多其他有关相同问题的 Stack Overflow 页面,但似乎没有一个可以解决我的问题。
谁能帮我知道我哪里出错了?
【问题讨论】: