3

在我的 servlet 中,当向它发送 ajax 请求时,req.getQueryString() 返回 null。这是因为 req.getQueryString() 只适用于 GET 而不是 POST?

public void doPost(HttpServletRequest req, HttpServletResponse resp) 
        throws ServletException, IOException {
req.getQueryString();
}
4

3 回答 3

9

获取请求参数的最简单方法是使用request.getParameter(). 这适用于 GET 和 POST 请求。

POST 请求通常在请求正文中携带其参数,这就是该request.getQueryString()方法返回 null 的原因。

于 2013-11-06T14:14:36.047 回答
1

来自文档

如果 URL 没有查询字符串,则此方法返回 null。

由于您在doPost()处理程序中,我们可以假设该请求确实没有查询字符串,因为它是一个 POST。

于 2013-11-06T14:12:08.263 回答
1

POST 请求可能有一个查询字符串,但这并不常见。POST 数据直接包含在浏览器发送到服务器的 HTTP 标头之后。

于 2013-11-06T14:15:15.627 回答