我正在尝试将控件重定向到下一个jsp页面。如果布尔值为true,则重定向到成功jsp页面,否则重定向到登录页面。
@RequestMapping(value = "/validate", method = RequestMethod.POST)
@ResponseBody
public ModelAndView(HttpServletRequest request, HttpServletResponse response, Model model) {
String userName = request.getParameter("userName");
String password = request.getParameter("password");
boolean validuser=employeeService.checkLogin(userName,password);
if(validuser == true)
{
model.setViewName("success");
return model;
}
model.setViewName("login");
return model;
}
这是我的Ajax电话。
$(document).ready(function() {
$("form").submit(function() {
var userName=$("#inputEmail").val();
var password=$("#inputPassword").val();
$.ajax({
type : "post",
url : "${pageContext.request.contextPath}/validate",
data : {userName:userName, password:password},
success:function(data){
alert(data);
},
error:function()
{
alert("Error ");
}
});
});
});
控制不会成功阻止。仅显示错误警报。
public String validate(HttpServletRequest request, HttpServletResponse response, Model model) {
String userName = request.getParameter("userName");
String password = request.getParameter("password");
boolean validuser=employeeService.checkLogin(userName,password);
if(validuser == true)
{
return "redirect:/success";
}
else{
return "redirect:/login";
}
}
我尝试过使用这种方法。仍然是它的输入错误块。
答案 0 :(得分:0)
在成功回调中添加window.location.href = 'YOUR_REDIRECT_URL'
。
success:function(data){
alert(data);
window.location.href = 'YOUR_REDIRECT_URL'; // redirect
},
答案 1 :(得分:0)
如果是ajax电话,则您无法在返回网址中使用redirect:
。在您的控制器上,返回"http://example.domain.com/success"
。然后在您的成功处理程序中使用window.location.href = 'redirect_url'