在使用Ajax时如何重定向.jsp

时间:2012-11-29 03:50:44

标签: ajax jsp

我正在使用Ajax和jsp开发应用程序。

我的index.jsp页面包含Login的HTML代码和javascript中的一些Ajax代码。 Ajax将调用我的另一个CheckLogin.jsp页面

CheckLogin.jsp页面检查服务器上的有效用户名和密码。如果有效则返回“success”,否则返回“用户名或密码无效”的消息。

现在,当username和passwrod有效时,我想将页面重定向到“Home.jsp”,而不是成功,我该怎么办?

我是jsp的新手。感谢您对此的帮助。

3 个答案:

答案 0 :(得分:2)

JSP代码在进入客户端之前在服务器上运行一次,因此JSP / JSTL无法在AJAX调用成功之后进行重定向(没有完整页面刷新 - 这样就不使用AJAX)。您应该使用Javascript进行重定向:

if (success) {
    var successUrl = "Home.jsp"; // might be a good idea to return this URL in the successful AJAX call
    window.location.href = successUrl;
}

成功进行AJAX调用/验证后,浏览器窗口将重新加载新URL(实际上是重定向)。

答案 1 :(得分:0)

由于我没有看到您的代码,您可以将其集成到验证中的某个位置:

<%
    pageContext.forward("logged.jsp");
%>

答案 2 :(得分:0)

function Edit() {
var allVals = $('#NEWFORMCampaignID').val();
if (allVals > 0) {
  window.location = '/SMS/PrepareSMS?id='+allVals;
}
else
  alert("Invalid campaign to Edit")

}

为了使用按钮单击并传递一些参数进行重定向,您可以调用控制器路径(@RequestMapping(value =“/ SMS / PrepareSMS”)),然后在那里处理它。