gpt4 book ai didi

jquery - 使用 JAX-RS 和 jquery .ajax() 检索参数

转载 作者:行者123 更新时间:2023-12-01 03:46:32 24 4
gpt4 key购买 nike

我正在使用 jax-rs 编写一个基本的 Web 服务。我正在使用以下 JQuery 测试该应用程序。我可以使用 GET 参数很好地访问参数,但是当我使用 POST 时,它会失败。我使用以下 JQuery 来测试两者,仅将“POST”切换为“GET”。

$.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 时,它会打印 null。需要什么才能使用 POST 方法访问参数?

最佳答案

如果您发送表单数据,您应该指定服务器将使用的内容类型。因此,您应该使用 @Consumes(MediaType.APPLICATION_FORM_URLENCODED) 注释 POST 方法。换句话说,POST 方法应该是这样的:

@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
// rest of the code

关于jquery - 使用 JAX-RS 和 jquery .ajax() 检索参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13275318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com