前端页面跳转带token-骚操作

2023-11-20

声明:非必要不要使用该方法,会有存在一些问题,在此只是提供思路。

发现存在的问题:
1.使用window.location.reload; 会有问题,$(window).attr(‘location’,url) 会有问题, F5 刷新页面会有问题(这里可以进行做全局标识重新跳转到当前页面,但是我也没做)。上面两个操作仅仅是将当前页面重新加载,并没有请求后台。
原因就是每次调用上面的方法 的html页面都是从localStorage取出来的原因。我是通过改成调用方法解决的 route.js 的 pageJump()。
2.性能问题
3.暂未发现其他问题

强烈建议不要使用该方法,只是提供一个思路。

点击a标签,页面跳转。

<script src="/js/route.js"></script>
<li><a href="javascript:void(0);" onclick="router('menu')" class="sf-folder-document">菜单</a></li>

route.js

$(function(){
    var urlp1 = window.location.search;
    
    router = function (route){
        localStorage.setItem('route',route);
        get(route + (urlp1?urlp1:""), function (resp) {
            StandardPost(resp)
        })
    }

    pageJump = function (ulrParam){
        var rout = localStorage.getItem('route');
        get(rout + (ulrParam?ulrParam:""), function (resp) {
            StandardPost(resp)
        })
    }

// POST任意内容并跳转
    function StandardPost(html) {
        localStorage.removeItem('callbackHTML');
        localStorage.setItem('callbackHTML',html);
        window.location.href = 'page' ;
    }
  function requset(url, method, data, callback200, callback403, dataType, contentType){
        $.ajax(url,{
            type: method,
            data: JSON.stringify(data),
            dataType: dataType,
            contentType: contentType,//这个参数也是header参数
            headers: {'Authorization': "bearer "+ window.localStorage.getItem('accessToken')},
            statusCode: {
                200: function (response) {
                    if (typeof callback200 === "function"){
                        callback200(response);
                    }
                },201: function (response) {
                    alert('1');

                },400: function (response) {
                    alert('400');
                },404: function (response) {
                    alert('404');
                },403: function (response) {
                    if(callback403){
                        if (typeof callback403 === "function"){
                            callback403(response);
                        }
                    }else {
                        window.localStorage.removeItem('accessToken');
                        $(window).attr('location', 'login');
                    }
                }
            },success: function () {

            },});
    }

	//get请求
    get = function get(url,  callback) {
        requset(url, "GET", null, callback, null,null, null);
    }
})

page.html

<script>
    document.write(localStorage.getItem('callbackHTML'));
    document.close();
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端页面跳转带token-骚操作 的相关文章

  • sqlmap参数详解

    命令及详解 h 帮助 version 版本号 d 连接数据库 mysql root root 192 168 3 20 3306 db 数据库种类 账号 密码 地址 端口 库 current db 当前数据库 dbs 列出所有数据库 等于s
  • 软件测试是干什么的 1分钟带你快速了解清楚软测的工作性质

    近几年 国内软件测试行业迅猛发展 不少行外人都能经常听到某某软件测试岗位在高薪招聘消息 等 所以很多不了解情况的人就想要问了 软件测试到底是干什么的 什么样的人才能够当软件测试员 关于大家关心这两个问题 小编特做了如下回答 软件测试是干什么

随机推荐

  • Selenium RemoteWebDriver使用—让你的代码与测试分离(远程测试)

    目录 一 写在前面 二 RemoteWebDriver基本使用 2 1 配置环境 2 2 配置环境命令 2 3 代码示例 三 扩展使用 3 1 浏览器版本和平台参数 3 2 浏览器启动相关参数 一 写在前面 在学习Selenium基础的时候
  • 【实践篇】领域驱动设计:DDD工程参考架构

    背景 为什么要制定参考工程架构 不同团队落地DDD所采取的应用架构风格可能不同 并没有统一的 标准的DDD工程架构 有些团队可能遵循经典的DDD四层架构 或改进的DDD四层架构 有些团队可能综合考虑分层架构 整洁架构 六边形架构等多种架构风
  • Python 常用基础模块(四):sys模块

    目录 一 sys模块介绍 1 1 什么是 Python 解释器 说明 1 2 sys 模块的作用 二 常用方法及属性介绍 2 1 modules属性 将模块名称映射到已加载模块的字典 2 2 getdefaultencoding 方法 获取
  • YOGA 14s开机黑屏——试试提高亮度

    联想yoga 14s 开始动画是有的 但开机动画后就黑屏了 折腾了半天 按下亮度增大键后屏幕亮了 好像联想笔记本比较支持亮度最低即为0
  • 一周简报(项目尾声)

    XX海油项目已经进入尾声 大部分的工作都已经完成 目前我们所做的就是完善系统中的Bug 以及面对客户提出的某些部分的需求变更 由于形式所迫 我们的战斗由 城市 转入 农村 由 地上 转入 地下 由 阵地战 转为 游击战 我们当前的任务是以客
  • 通过源码包*.src.rpm定制开发rpm

    为什么80 的码农都做不了架构师 gt gt gt 1 基本流程 1 下载 安装相应的src rpm包 wget xxx src rpm rpm ivh xxx src rpm 这里的 安装 是指把xxx src rpm中的tar gz p
  • 活动报名

    活动议程 日期 5月5日 周五 时间 主题 14 30 14 35 开场简介 袁洋 清华大学交叉信息学院助理教授 青源会会员 14 35 15 20 环境不变最小二乘回归 方聪 北京大学智能学院助理教授 青源会会员 15 20 15 50
  • 计算机网络分组交换特点,分组交换技术在计算机网络技术中的作用及特点是什么?...

    分组交换是以分组为单位进行传输和交换的 它是一种存储 转发交换方式 即将到达交换机的分组先送到存储器暂时存储和处理 等到相应的输出电路有空闲时再送出 采用存储转发的分组交换技术 实质上是在计算机网络的通信过程中动态分配传输线路或信道带宽的一
  • Android中实现全屏、无标题栏的两种办法(另附Android系统自带样式的解释)

    在进行UI设计时 我们经常需要将屏幕设置成无标题栏或者全屏 要实现起来也非常简单 主要有两种方法 配置xml文件和编写代码设置 1 在xml文件中进行配置 在项目的清单文件AndroidManifest xml中 找到需要全屏或设置成无标题
  • c++ 二进制、八进制、十进制、十六进制相互转换

    itoa 和strtol 可以实现二进制 八进制 十进制 十六进制之间的相互转换 包含在 inculde lt cstdlib gt 1 十进制转换为其他进制 使用itoa int dec char str int R 将十进制数dec转换
  • python执行JavaScript代码

    1 简单使用 import execjs execjs eval new Date 返回值为 2018 04 04T12 53 17 759Z execjs eval Date now 返回值为 1522847001080 需要注意的是返回
  • selenium 获取属性值的两种方法

    初衷是因为要通过属性值判断是否按钮是否disabled 获取属性值的两种方法 1 通过js获取 class text dr execute script return arguments 0 getAttribute class TAG a
  • 关于“service iptables save“的“命令只支持LSB动作”的报错解决方法

    1 报错复现 service iptables save 报错如图 2 解决方式 2 1 先停止防火墙 systemctl stop firewalld 2 2 执行 yum install y iptables service 执行完毕后
  • 四路服务器销售排名,专注企业核心业务 新华三四路服务器2019上半年销售额占比持续增长...

    近日 IDC发布的 2019年第二季度中国x86服务器市场跟踪报告 显示 2019年上半年 紫光旗下新华三集团四路服务器在中国市场销售额排名第二 市场份额环比大幅增长 从中国市场销销售额数据来看 2018年下半年 新华三集团四路服务器市场销
  • QT实现多线程,以及子线程调用主线程方法与变量

    实现思路 第一步需要将子线程声明为主线程的友元类 第二步是将主线程类对象的地址通过信号槽传递给子线程中创建的对象 使得子线程能访问主线程的数据的 1 子线程 displayresult h 头文件 伪代码 include tabwindow
  • 算法学习——贪心算法之币种统计

    算法描述 币种统计 单位给每一位员工发工资 精确到元 为了保证不临时换零钱 使得每个员工取款的张数最少 在取工资前统计所有员工所需要的各种票面的张数 约定票种为100 50 20 10 5 2 1元 并验证币种统计是否正确 算法思路 算法描
  • MySQL MVCC详解

    为什么需要MVCC 在没有MVCC之前 是使用读写锁 共享锁 排它锁 来进行并发控制的 读锁和读锁之间不互斥 写锁和读锁互斥 写锁和写锁互斥 但是频繁加锁会导致数据库性能低下 这时出现了一种不加锁来解决读写冲突的方法 它会让数据库维护每条数
  • xshell设置代理连接

    大致原理 本地服务器Local gt 中转服务器Jump gt 目标服务器Destination 本机L连接不上目标服务器D 通过中转服务器提供的代理 来实现连接 所以启动顺序 先启动中转J 不能断开连接 再启动目标服务D 中转服务器设置
  • 电大计算机应用基础实操题模块4,计算机应用基础形考模块四答案

    计算机应用基础形考模块四答案Tag内容描述 1 精品文档计算机应用基础01试卷总分 10001任务单选题 共20题 共100分 开始说明 结束说明 1 5分 Excel工作表中 用鼠标器左键单击某个工作表标签 该标签为白色显示 此工作表称为
  • 前端页面跳转带token-骚操作

    声明 非必要不要使用该方法 会有存在一些问题 在此只是提供思路 发现存在的问题 1 使用window location reload 会有问题 window attr location url 会有问题 F5 刷新页面会有问题 这里可以进行