使用session存储,确定用户是否登录,从而确定页面跳转至哪个页面。
判断本地有无customerID:
function jumpTo(p, url) {
var customerId=sessionStorage.customerId;
if(customerId == undefined) {
p.attr("href", "page/Login/login.html");
}else{
p.attr("href", url);
}
}
function infoJumpTo() {
var $info = $("#info");
jumpTo($info, "http://192.168.220.55/page/AmountAscension/amountAscension.html");
}
function starJumpTo() {
var $star = $("#star");
jumpTo($star, "http://192.168.220.55/page/MyAccount/myAccount.html");
}
html中,相应的a标签中,写οnclick="infoJumpTo"等就可以了。
但登录页面的customerID是如何存储到本地的session中的呢?
function confirm(){
var tel=$tel.val(); //获取页面中登录名和密码
var pwd=$pwd.val();
if(tel==""|| pwd==""){ //判断两个均不为空(其他判断规则在其输入时已经判断)
alert("手机号密码均不能为空!")
return false;
}else{ //以上均符合要求,则调用登录esb接口
$.ajax({
url:config.baseServerUrl + '/account/login', //相对应的esb接口地址
type:'post',
data:{mobile:tel,password:pwd}, //向服务器(接口)传递的参数
success:function(data){ //服务器(接口)返回来的数据
if(data.success){ //如果返回来的信息说明提交的信息为正确的
var customerId = data.attr.customerInfo.id; //将数据中用户信息的ID赋值给变量
sessionStorage.customerId = customerId; //将变量存储到本地sessionStorage中,并且value为customerID
window.location.href='http://192.168.220.55/index.html'; //正确登录后页面跳转至
}
else{ //如果返回来的信息说明提供的信息为错误的
if(tel != data.tel){ //判断是用户名还是密码错误,提示相应信息
alert(data.message);
$tel.val("");
$pwd.val("");
return false;
}
if(pwd != data.pwd){
alert(data.message);
$pwd.val("");
return false;
}
}
}
})
}
}
登录页面,人们一般习惯输完信息后,直接点击enter免除手动点击登录按钮,则js代码如下:
//判断是否敲击了Enter键
$(document).keyup(function(event){
if(event.keyCode ==13){
$("#login").trigger("click");
}
});
个人理解,总结以备不时之需。