当前位置: 首页 > news >正文

AJAX踩坑指南(知识点补充)

JWT

JSON Web Token是目前最为流行的跨域认证解决方案
如何获取:在使用JWT身份验证中,当用户使用其凭据成功登录时,将返回JSON Web Token(令牌)
Token本质就是一个包含了信息的字符串
如何获取Token:登录成功之后,服务器返回
作用:使用令牌(token)访问页面,调用接口

在这里插入图片描述
服务的通过请求头携带的token来判断当前用户是真用户还是假用户
在这里插入图片描述

首页页面访问控制思路

其中token放在本地存储中
在这里插入图片描述

调用接口时传递token

在这里插入图片描述

token过期验证(token是有时效的)

在这里插入图片描述
判断token失效后,清除存储数据,然后跳转到登录页

axios拦截器

作用:在请求发送之前,响应回来之后执行一些公共逻辑
在这里插入图片描述
在这里插入图片描述

请求拦截器

每次请求之前都会经过请求拦截器的代码,config中包含请求的内容
可以在请求拦截器中加入token(但是有一种情况,还没登录的时候,还没生成token,会造成js代码执行逻辑上的一些错误)

// 添加请求拦截器
axios.interceptors.request.use(config=> {// 在发送请求之前做些什么return config;}, err=> {// 对请求错误做些什么return Promise.reject(error);});

响应拦截器

可以统一处理token失效和数据剥离

// 添加响应拦截器
axios.interceptors.response.use(response=> {// 2xx 范围内的状态码都会触发该函数。// 对响应数据做点什么return response;}, error=> {// 超出 2xx 范围的状态码都会触发该函数。// 对响应错误做点什么return Promise.reject(error);});
统一处理token失效

在这里插入图片描述

数据剥离

axios返回成功的res中只有一部分是后台返回给的数据,数据都是经过axios包装的数据
数据剥离就是将res.data.data.overflow—>res.data.overflow (在响应拦截器成功的函数中剥离data)

相关文章:

AJAX踩坑指南(知识点补充)

JWT JSON Web Token是目前最为流行的跨域认证解决方案 如何获取:在使用JWT身份验证中,当用户使用其凭据成功登录时,将返回JSON Web Token(令牌) Token本质就是一个包含了信息的字符串 如何获取Token:登录成功之后,服务…...

备战蓝桥杯Day29 - 拼接最大数字问题

问题描述 有n个非负整数,将其按照字符串拼接的方式拼接为一个整数如何拼接可以使得得到的整数最大? 例: 32,94,128,1286,6,71可以拼接除的最大整数为 94716321286128。 问题思路 1.比较两个字符串的第一个数字,数值大的在前面,数值小的在…...

基于springboot的mysql实现读写分离

前言: 首先思考一个问题:在高并发的场景中,关于数据库都有哪些优化的手段?常用的有以下的实现方法:读写分离、加缓存、主从架构集群、分库分表等,在互联网应用中,大部分都是读多写少的场景,设置两个库,主库和读库,主库的职能是负责写,从库主要是负责读…...

Python爬虫之Scrapy框架系列(24)——分布式爬虫scrapy_redis完整实战【XXTop250完整爬取】

目录: 每篇前言:1.使用分布式爬取豆瓣电影信息(1)settings.py文件中的配置:(2)spider文件的更改:(3)items.py文件(两个项目一致!&…...

提升效率,稳定可靠:亚信安慧AntDB的企业价值

亚信安慧AntDB分布式数据库凭借平滑扩展、高可用性和低成本三大核心优势,在业界获得了极高的评价和认可。这些优点不仅为AntDB提供了巨大的市场发展潜力,也使其成为众多企业在数据管理上的首选解决方案。 AntDB的平滑扩展特性极大地提升了企业的灵活性和…...

洛谷入门——P1567 统计天数

统计天数 题目描述 炎热的夏日,KC 非常的不爽。他宁可忍受北极的寒冷,也不愿忍受厦门的夏天。最近,他开始研究天气的变化。他希望用研究的结果预测未来的天气。 经历千辛万苦,他收集了连续 N ( 1 ≤ N ≤ 1 0 6 ) N(1 \leq N …...

C++概述

目录 一、C关键字(63个) 二、C几个关键点: 三、C语言缺陷一:命名冲突 四、C新概念:命名空间(namespace) 五、命名空间的嵌套: 六、展开命名空间:(using …...

Linux学习笔记16 - 系统命令

1. Linux 常见系统管理命令 命令含义格式su切换用户su [选项] [用户名]ps显示系统由该用户运行的进程列表ps [选项]top动态显示系统中运行的程序(一般为每隔 5s)topkill输出特定的信号给指定 PID(进程号)的进程,并根据…...

读书笔记--阅读华为数据治理之旅有感

通过阅读华为的数据治理之旅,了解到华为公司作为高科技企业的引领者,在数据治理工作、数字化智能化转型方面的确有许许多多值得大家学习的地方,华为公司的业务范围广泛,市场竞争压力大,迫切需要用一些高效的手段来减轻员工的工作量,让员工各司其职,在各自承担的主营业务…...

网络安全协议基本问题

Http和Https协议的端口号: Http:80 Https:443 网络监听: 网络监听是一种监视网络状态、数据流程以及网络上信息传输的工具,它可以将网络界面设定成监听模式,并且可以截获网络上所传输的信息。但是网络监…...

面试(一)

一. 说一下进程和线程的区别? (1)进程是资源分配的最小单位,线程是CPU调度的最小单位。 (2)线程是进程的一部分,一个线程只能属于一个进程,一个进程可以有多个线程,但至少有一个线程。 (3)进程有自己独立地址空间&a…...

libVLC windows开发环境搭建

1.简介 LibVLC是一个强大的开源库,它构成了VLC媒体播放器的核心部分。 LibVLC提供了一系列的功能接口,使得VLC能够处理流媒体的接入、音频和视频输出、插件管理以及线程系统等核心任务。 跨平台性:VLC作为一个跨平台的多媒体播放器&#x…...

【Netty】Netty的使用和常用组件详解

目录 一、简述 1.1 什么是Netty 1.2 Netty 的优势 1.3 为什么不用 Netty5? 1.4 为什么 Netty 使用 NIO 而不是 AIO? 1.5 为什么不用 Mina? 二、第一个 Netty 程序 2.1 Bootstrap、EventLoop(Group) 、Channel 2.1.1 Bootstrap 2.1.…...

Legacy|电脑Windows系统如何迁移到新安装的硬盘?系统迁移详细教程!

前言 前面讲了很多很多关于安装系统、重装系统的教程。但唯独没有讲到电脑换了新的硬盘之后,怎么把旧系统迁移到新的硬盘上。 今天小白就来跟各位小伙伴详细唠唠: 开始之前需要把系统迁移的条件准备好,意思就是在WinPE系统下,可…...

Windows 11 安装 Scoop

[Windows 11 安装 Scoop](Windows 11 安装 Scoop) 0. 引言 Scoop 从命令行安装您熟悉和喜爱的程序,差异最小。 它的主要功能如下: 消除权限弹出窗口 隐藏 GUI 向导样式的安装程序 防止PATH污染安装大量程序 避免安装和卸载程序的意外副作用 自动查…...

新能源汽车小三电系统

小三电系统 新能源电动汽车的"小三电"系统,一般指车载充电机(OBC)、车载 DC/DC 变换器,和高压直流配电盒(PDU)。一辆纯电动汽车一般配备一台OBC 和一台车载 DC/DC 变换器。OBC将外部输入的交流电转化为直流电输出给电池,DC/DC衔接…...

面试问答示范

文章目录 请做个自我介绍您的学历是统招吗?可以在学信网查询吗是全日制吗是双证吗?请介绍一下你上家公司的情况。介绍一下你们公司的服务器架构(网络架构)。说说你在工作中处理过的最棘手的技术问题讲一讲上家公司做过的项目为什么…...

嵌入式3-22

4.输入一个秒数,输出几时几分几秒 eg:输入3670 1小时1分钟10秒 5,输入一个数,使用条件运算符实现,如果是水仙花则赋值1否则赋值0 6.终端输入一个年份,使用条件运算符实现,如果是润年则赋值1否则赋值0 …...

JAVA Synchronized对象锁和类锁区别(牛逼)

一个类就像一个四合院,四合院的大门叫做构造方法,盖房子必须经过大门,每new一个对象,就表示在四合院里再盖一间新房子,大门上面的锁,叫做构造锁,里面每一间房子就是一个实例,每间房子…...

力扣算法题之好数对的数目

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…...

G-Helper深度探索:如何用开源工具重塑华硕笔记本的性能控制体验

G-Helper深度探索:如何用开源工具重塑华硕笔记本的性能控制体验 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, …...

netsh interface portproxy实战:Windows本地端口转发与虚拟IP配置全解析

1. 为什么需要Windows本地端口转发? 很多开发者都遇到过这样的场景:你在本地机器上跑了一个Web服务,监听的是127.0.0.1:8080,这时候同一局域网的其他设备想要访问这个服务,直接输入你的IP地址加端口是访问不了的。这是…...

Bytenode加载器文件原理:深入理解CommonJS与ES模块的差异

Bytenode加载器文件原理:深入理解CommonJS与ES模块的差异 【免费下载链接】bytenode A minimalist bytecode compiler for Node.js 项目地址: https://gitcode.com/gh_mirrors/by/bytenode Bytenode作为一款轻量级的Node.js字节码编译器,通过将Ja…...

SEU操作系统实践:从进程隐身到Shell构建的深度探索

1. 进程隐身:从原理到实战 第一次接触进程隐身这个概念时,我脑海中浮现的是科幻电影里的隐形战机。在Linux系统中,进程隐身同样神奇——它能让指定进程从系统监控工具中"消失"。这个实验不仅考验我们对进程管理的理解,…...

AK-Design 低代码革命:拖拽式可视化开发平台全解析

1. AK-Design低代码平台:开发者的效率革命 第一次接触AK-Design时,我正被一个紧急项目压得喘不过气。客户要求在两周内完成一个包含表单、数据看板和审批流程的完整系统。按照传统开发方式,光是前端页面开发就需要一个月。抱着试试看的心态&…...

OpenResty终极优化:引入L1本地缓存,实现微秒级响应

在上一篇文章中,我们实现了OpenResty查询Redis的架构。虽然Redis很快,但它毕竟是一个远程服务,每次查询都需要经过网络I/O(即使是本地回环网络,也有协议解析和上下文切换的开销)。在超高并发场景下&#xf…...

Navicat试用期重置终极指南:3步免费延长数据库工具使用时间

Navicat试用期重置终极指南:3步免费延长数据库工具使用时间 【免费下载链接】navicat-premium-reset-trial Reset macOS Navicat Premium 15/16/17 app remaining trial days 项目地址: https://gitcode.com/gh_mirrors/na/navicat-premium-reset-trial Navi…...

如何用ComfyUI ControlNet预处理器打造精准AI图像控制:从入门到精通

如何用ComfyUI ControlNet预处理器打造精准AI图像控制:从入门到精通 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 在AI图像生成的世界里&…...

终极指南:Adafruit GFX库带你轻松玩转嵌入式图形编程

终极指南:Adafruit GFX库带你轻松玩转嵌入式图形编程 【免费下载链接】Adafruit-GFX-Library Adafruit GFX graphics core Arduino library, this is the core class that all our other graphics libraries derive from 项目地址: https://gitcode.com/gh_mirror…...

Stable Yogi Leather-Dress-Collection惊艳效果展示:2.5D皮衣光影质感高清作品集

Stable Yogi Leather-Dress-Collection惊艳效果展示:2.5D皮衣光影质感高清作品集 想象一下,你只需要在电脑上点几下,就能让动漫角色穿上各种风格、质感逼真的皮衣,从紧身皮裙到机车夹克,每一件都闪烁着独特的光影。这…...