我正在使用JAX-RS来构建Restufl Web应用程序,我在调用带有使用json对象的post方法的web服务时遇到了问题。 我必须使用jquery来调用webservice 这是方法
@POST
@Path("/client")
@Consumes(MediaType.APPLICATION_JSON)
public Response showClient(Client c){
String name = c.getAdresseCl() + ""+ c.getEmailCl();
ResponseBuilder builder = Response.ok(name);
builder.header("Access-Control-Allow-Origin", "*");
builder.header("Access-Control-Max-Age", "3600");
builder.header("Access-Control-Allow-Methods", "GET");
builder.header(
"Access-Control-Allow-Headers",
"X-Requested-With,Host,User-Agent,Accept,Accept-Language,Accept-Encoding,Accept-Charset,Keep-Alive,Connection,Referer,Origin");
return builder.build();
}
使用jquery进行客户端调用:
var data={'adressCl':'myAdress','emailCl':'example@domain.com'};
$.ajax({
"type":"post",
"dataType":"json",
"data":data,
"url":"http://localhost:9080/FournisseurWeb/jaxrs/clients/client",
"success":function(res){
console.log(res);
}
});/*
$.post("http://localhost:9080/FournisseurWeb/jaxrs/clients/client",data,function(res){
console.log(res);
});*/
我收到此错误:“NetworkError:415不支持的媒体类型 请帮忙!和thx提前
答案 0 :(得分:0)
从http://api.jquery.com/jQuery.ajax/ contentType
字段说明看起来.ajax()默认发送application / x-www-form-urlencoded,而不是json,所以你需要正确设置:application / JSON
我从未检查过,但我总是使用“类型”:“POST”而不是“类型”:“发布”,也许这就是问题所在。