我有一个非常有趣的问题。我正在为我的网络应用程序制作登录页面,并通过 AJAX 发送登录请求。如果成功,我想将用户转发到另一个页面。
似乎他的事情就是这样。我发送 Ajax 请求,控制器转发我需要查看(我在调试模式下看到日志)但我留在同一页面上,因为我假设页面正在等待 AJAX 响应,因此转发不会发生。
我认为这也是处理此问题的错误方法,但由于我对此并不了解。如何登录并将用户转发到下一页。
谢谢你。
这是我的代码:
JS代码:
Page.authenticate = function() {
$.ajax({
url: "/login/authenticate/" + $('#username').val() + "/" + $('#password').val(),
type: "GET",
success: function(poi){
// alert("nesto");
}
});
return true;
}
控制器类:
@Controller
public class LoginPageController {
private Logger logger = Logger.getLogger(this.getClass());
@Autowired
private UserManagement userManagement;
@RequestMapping(value="/login/authenticate/{username}/{password}", method=RequestMethod.GET)
public String authenticate(@PathVariable("username") String userName, @PathVariable("password") String password, Model model) {
if (userManagement.authenticateUser(userName, password)) {
String forward = "forward:/login/success";
return forward;
} else {
model.addAttribute("errorMessage", "Invalid Username/Password, please try again!");
return "/";
}
}
}