我创建了一个Web应用程序,用户可以在其中在登录页面上输入他的电子邮件和密码。当按下登录按钮时,包含电子邮件和密码的ajax帖子将发送到服务器。服务器检查密码正确后,将设置带有会话ID的会话cookie,并返回HTTP OK状态。在客户端,成功后,将“ window.location”设置为“ private / home”(由Servlet过滤器保护的页面,该Servlet过滤器检查会话cookie并验证客户端身份),并且客户端可以正常进行。但是,对于移动应用程序编程,我知道cookie不能很好地工作,最好在客户端和服务器之间在HTTP标头中来回传递令牌以维护会话。但是,我的问题是如何在多页Web应用程序中实现此功能并在页面之间移动。据我所知,当您执行“ window.location”或“ href”时,无法设置标题。
我的登录页面代码
$("#loginButton").click(function(){
var emailText = $("#emailInput").val().trim() ; //get input from email field in form
var passwordText = $("#passwordInput").val() ;//get input from password field in form
var allPassed = true ;
$("#emailErrorMessage").text("") ;
$("#passwordErrorMessage").text("") ;
if(emailText == "") {
$("#emailErrorMessage").text("Please enter a valid email") ;
allPassed = false ;
}
if(passwordText == "") {
$("#passwordErrorMessage").text("Please enter a valid password") ;
allPassed = false ;
}
if(allPassed) {
$.ajax({
type: "POST",
url: "loginUser",
data: {email:emailText , password:passwordText} ,
success: function(data,status,xhr) {
window.location = "private/home" ;
},
error: function(xhr , status , error) {
$("#passwordInput").val("") ;
$("#passwordErrorMessage").text("Incorrect email or password") ;
}
});
}
}) ;