0

私は JAX-RS を使用して Restufl Web アプリケーションを構築しています。json オブジェクトを消費する post メソッドで Web サービスを呼び出すことに問題があります。jquery を使用して Web サービスを呼び出す必要があります。
これがメソッドです

 @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 Unsupported Media Type 助けてください! thx 事前に

4

1 に答える 1

0

http://api.jquery.com/jQuery.ajax/ フィールドの説明からcontentType、.ajax() はデフォルトで json ではなく application/x-www-form-urlencoded で送信しているように見えるため、適切に設定する必要があります: application /json

私はそれをチェックしたことはありませんが、私は常に "type":"post" ではなく "type":"POST" を使用しています。おそらくそれが問題です。

于 2012-05-30T18:29:28.743 に答える