2
jax-rs를 사용하여 기본 웹 서비스를 작성하고 있습니다. 다음 JQuery를 사용하여 애플리케이션을 테스트하고있다. GET 매개 변수를 사용하여 매개 변수를 잘 액세스 할 수 있지만 POST를 사용할 때 실패합니다. 다음 JQuery를 사용하여 "POST"를 "GET"으로 전환하는 것만을 테스트합니다.JAX-RS 및 jquery .ajax()를 사용하여 매개 변수 검색
$.ajax({
type: "POST",
url: "http://localhost:8080/MyWebService/",
data: 'text=this is text',
dataType: 'jsonp',
success: function(data){
console.log(data);
},
error: function(){alert('failure');}
});
자바 끝은 다음과 같습니다. 나는 get 부분에 문제가 없다는 것을 명심하십시오.
@GET
public Response getWork(@QueryParam("callback") String callbackName, @QueryParam("text") String searchText,
@Context HttpServletResponse response, @Context HttpServletRequest request) throws JsonGenerationException,
JsonMappingException, IOException {
System.out.println(searchText);
return work(callbackName, searchText, response, request);
}
@POST
public Response postWork(@FormParam("callback") String callbackName, @FormParam("text") String searchText,
@Context HttpServletResponse response, @Context HttpServletRequest request) throws JsonGenerationException,
JsonMappingException, IOException {
System.out.println(searchText);
return work(callbackName, searchText, response, request);
}
GET을 사용할 때 텍스트를 인쇄하지만 POST를 사용할 때 null을 인쇄합니다. POST 메서드를 사용하여 매개 변수에 액세스하려면 무엇이 필요합니까?
그리고 여기에있는 Java 메소드가 POST 데이터를 성공적으로 가져올 수 있습니다. <3 불행히도 jQuery는 콜백 매개 변수에 문제가 있다고 의심되는 오류를 catch합니다. 왜냐하면 인쇄하려고하면 null입니다. – Pierce
request.getParameter ("callback")을 사용하여 콜백 매개 변수를 가져올 수 있지만 약간 해로운 느낌입니다. @QueryParam 또는 이와 유사한 것으로 전달할 수있는 다른 방법이 있습니까? (@QueryParam이 작동하지 않았다.) – Pierce