Estou usando a camisa no lado do servidor e minha função usa
@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response someFunction(SomeClass obj,@Context HttpServletRequest req){}
Mas quando eu faço uma chamada http post com content-type = "application / json" e carga como {"name":"abc","age":"20"}
do Advanced Rest Client, a chamada será bem-sucedida. Mas se eu criar um cliente que faça uma chamada ajax como,
var person = {
name: "abc",
age:"20",
}
$.ajax({
url: "someUrl",
type: "post",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
},
data: person
});
Então, essa chamada retornará 400 solicitações incorretas e não estará dentro da função no lado do servidor. Se passarmos o objeto person na forma de uma string como,
"{"name":"abc","age":"20"}"
Em seguida, a chamada ajax também retorna 200. Alguma razão para que isso esteja acontecendo?
Respostas:
0 para resposta № 1Você deve especificar os dados.
$.ajax({
url: "someUrl",
type: "post",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
},
data: JSON.stringify(person)
});