基于AJAX POST向JSP文件发送请求

时间:2018-03-08 14:27:12

标签: java ajax jsp servlets

我正在尝试向Java servlet发送post请求,根据此值执行查询,并将信息发送到jsp文件。从文本框输入的查询,当用户点击进入时,我需要跳转到新页面以显示查询的值。

这是我对servlet的发布请求:

$.ajax({
    "type": "POST",
    // generate the request url from the query.
    // escape the query string to avoid errors caused by special characters 
    "url": "Search",
    "data": {query : query},

    "success": function(data) {
        console.log("normal search successful");

    },
    "error": function(errorData) {
        console.log("lookup ajax error")
        console.log(errorData)
    }
})

我收到了AJAX帖子:

String title = request.getParameter("query");

//执行行动以获得结果......

然后将请求转发到JSP页面:

request.getRequestDispatcher("movielist.jsp").forward(request, response);

我没有收到任何错误,但屏幕没有重定向到我的应用中的新页面...

我错过了一些重要的东西吗?

2 个答案:

答案 0 :(得分:1)

没有任何事情发生,因为你进行了AJAX调用 - 请求发生在页面的背景中,因此当ajax从JSP接收响应时 - 它在后台停留"" - 触发成功处理程序。

你可以做的是 - 定期提交表单 - 然后按照你提到的那样从JSP导航。

否则 - 如果您希望保留AJAX,可以在成功处理程序中手动重定向:

 "success": function(data) {
       window.location = "<your URL here>";
  ...

重定向到您的URL可以从可以返回json对象的JSP传递。希望这会有所帮助。

答案 1 :(得分:0)

AJAX工作正常,如果你看@ console它应该打印一行。在成功区块中重定向部分。