sessionStorage 前端页面跳转管理

对应一下一种情况的业务场景:

如果实现如果用户没有登录成功则无权限访问view A、view B、view C页面,且跳转至login view

在login.view的登录ajax请求的success分支中添加如下:

  

$.ajax({
url :"",
type:"get",
dataType : "json" ,
success : function(res){
    sessionStorage.setItem("isLoad",true) //如果这里是一个页面路由表则可以做路由控制展示了。
  },
error : function(res){
console.log('res = ',res);
}
})

  在view A等其他页面的初始化渲染时候添加如下:

var isLoaded = sessionStorage.getItem("isLoad");
if(!isLoaded){
window.location = ("../index.html"); //登录页面
}

  如此一来每次登录到该session域内,如果没有登录成功(取得认证通过)。则就没有访问其他页面的权限。

      注:之所以使用sessionStorage是因为sessionStorage在关闭后都会被清空。符合安全规则。sessionStorage就相当于单页面应用中的一个全局变量(类似于angular中的RootScope)可以在所有的view中共享。介于此也可以通过sessionStorage来实现angular的RootScope的一些机制。 这里只是做了一个是否登录的判断,感兴趣的朋友可以在此基础上实现路由的管理。

学而时习之不亦悦乎。
原文地址:https://www.cnblogs.com/xianZJ/p/4687994.html