使用jQuery的Ajax将字符串发送到HTTPServlet:Request为空

时间:2016-10-29 10:38:34

标签: javascript jquery ajax

我试图通过按下按钮将数据发送回我的HTTPServlet。 最后,我的目标是发送回JSON数据,但就目前而言,我只是试图发回一个字符串。

当我点击saveThis - 按钮时,我的服务器会输出"清空"因为我的请求数据恰好是空的;我在这里错过了什么?

我的JavaScript:

$("#saveThis").click(function(e)
{
    $.post("clientserver", {
        "loadProds": 1,
        "test": "Hello"
    });
});

我的Servlet:

@WebServlet(urlPatterns= {"/clientserver"})
public class SayHelloServlet extends HttpServlet
{   
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        if(request.getParameter("saveThis") != null)
        {
            String json = request.getParameter("test");
            System.out.print(json);
        } else
        {
            System.out.print("Empty");
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您正在发出POST请求,因此数据将位于请求正文中,而不是参数。

尝试使用:

request.getReader()

或者:

request.getInputStream()

在Java代码中获取请求正文。