我正在尝试向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);
我没有收到任何错误,但屏幕没有重定向到我的应用中的新页面...
我错过了一些重要的东西吗?
答案 0 :(得分:1)
没有任何事情发生,因为你进行了AJAX调用 - 请求发生在页面的背景中,因此当ajax从JSP接收响应时 - 它在后台停留"" - 触发成功处理程序。
你可以做的是 - 定期提交表单 - 然后按照你提到的那样从JSP导航。
否则 - 如果您希望保留AJAX,可以在成功处理程序中手动重定向:
"success": function(data) {
window.location = "<your URL here>";
...
重定向到您的URL可以从可以返回json对象的JSP传递。希望这会有所帮助。
答案 1 :(得分:0)
AJAX工作正常,如果你看@ console它应该打印一行。在成功区块中重定向部分。