gpt4 book ai didi

java - 无法访问 Servlet 中的 AJAX 请求参数

转载 作者:行者123 更新时间:2023-11-30 04:09:09 25 4
gpt4 key购买 nike

我第一次尝试使用 Servlet 进行 AJAX,这里是 jQuery Ajax 代码:

$.ajax({
type : 'POST',
url : '/myServlet',
contentType : 'application/octet-stream; charset=utf-8',
success : function(result) {alert(result)},
processData : false,
data : authResult['code']
});

这是 servlet:

public class Authorize extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
Date currentTime= new Date();
String message = String.format("Currently time is %tr on %tD.",currentTime, currentTime); //printing this, echos in the ajax "success" function
response.getWriter().print(request.getParameterMap().toString()); //this, gives me blank Map "{}"
}
}


现在,请求参数哪里去了?或者如果我错了如何正确访问/发送它们?

在我的例子中,响应参数如何发送到 AJAX?以及如何以 JSON 格式发送它们?

很抱歉,如果我的问题看起来微不足道,但我在网上搜索了很多,但还没有找到好的资源。

最佳答案

您正在发送 POST 请求,因此您的参数位于请求正文中。如果您想将它们作为简单参数访问,请使用 GET:

$.ajax({
type : 'GET',
url : '/myServlet',
contentType : 'application/octet-stream; charset=utf-8',
success : function(result) {alert(result)},
processData : false,
data : authResult['code']
});

并在您的 servlet 中使用 doGet 而不是 doPost 方法。

如果您需要发布:读取请求正文并解析。

关于java - 无法访问 Servlet 中的 AJAX 请求参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20051184/

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