2
我正在使用jax-rs編寫一個基本的web服務。我正在使用以下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');}
});
java結束如下所示。請記住,我對獲取部分沒有任何問題。
@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時,它打印空。需要使用POST方法訪問參數需要什麼?
而且我們擁有它,java現在可以成功地檢索POST數據! <3不幸的是,jQuery現在捕獲了一個錯誤,我懷疑這是一個回調參數的問題,因爲當我嘗試打印它時,它是空的。 – Pierce
我可以通過request.getParameter(「callback」)獲得回調參數,但是這對我來說有點冒險。有沒有另外一種方法可以讓它通過@QueryParam或類似的東西傳入? (@QueryParam沒有順便工作) – Pierce