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

昆明网站seo多少钱微信推广方法

昆明网站seo多少钱,微信推广方法,网架加工厂,潮汕美食网站怎么做前端如何利用 localStorage 存储 Token 及跨域问题解决方案 一、前言 前后端分离已经是现代 Web 开发的主流模式,在这一模式下,前端通常会通过接口与后端交互,完成数据请求、身份认证等功能。而在身份认证这一环节,前端通常会拿…

前端如何利用 localStorage 存储 Token 及跨域问题解决方案

一、前言

前后端分离已经是现代 Web 开发的主流模式,在这一模式下,前端通常会通过接口与后端交互,完成数据请求、身份认证等功能。而在身份认证这一环节,前端通常会拿到后端返回的 Token,用于后续请求的身份标识。

那么,前端拿到这个 Token 之后,通常是怎么存储的呢?很多人会选择 localStorage。今天我们就来详细聊聊它的原理使用方式,并顺便讲讲大家经常遇到的跨域问题以及解决方案。


二、什么是 localStorage

1️⃣ 定义

localStorage 是浏览器提供的一种本地存储机制,属于 Web Storage API。它用于在 客户端 本地保存少量的键值对数据。

2️⃣ 特点

特点说明
持久性数据永久保存在本地,除非用户手动清除浏览器缓存
同源策略协议、域名、端口都一致时才可访问
容量通常为 5MB 左右
数据类型所有数据最终都会被转为字符串保存

三、如何用 localStorage 存储 Token?

1️⃣ 存储代码示例

localStorage.setItem('token', 'your-token-string');

这段代码的作用是:

  • keytoken
  • valueyour-token-string
  • 作用域:只在当前域名有效,刷新页面数据依然存在

2️⃣ 读取代码示例

const token = localStorage.getItem('token');

3️⃣ 清除代码示例

localStorage.removeItem('token');
localStorage.clear(); // 清除所有

四、为什么需要存储 Token?

通常,后端在登录成功后会返回一个 Token(通常是 JWT),前端需要将其保存起来,在后续的请求中带上这个 Token,以便服务器知道「你是谁」。

请求示例:

axios.get('/api/data', {headers: {Authorization: 'Bearer ' + localStorage.getItem('token')}
});

Token 通常放在请求头的 Authorization 字段中。


五、为什么不直接放 Vuex 或 React 状态管理?

Vuex / Redux 等状态管理存储在内存中,页面刷新就消失了。
localStorage 是存储在浏览器本地,页面刷新也不会丢失

所以一般是登录成功后:

  • 存到 localStorage
  • 刷新页面重新从 localStorage 读取初始化 Vuex / Redux 状态

六、跨域问题与解决方案

1️⃣ 什么是跨域?

浏览器有同源策略,不同协议 / 域名 / 端口之间的请求默认会被拦截,出现如下报错:

Access to XMLHttpRequest at 'http://api.xxx.com' from origin 'http://localhost:8080' has been blocked by CORS policy.

为什么拦截?
为了防止恶意网站盗用用户信息。


2️⃣ 跨域的常见场景

  • 本地开发时:localhost:8080 请求 localhost:8081
  • 正式环境:www.a.com 请求 api.a.com

3️⃣ 跨域的解决方案

后端开启 CORS

最根本的解决方法是后端开启跨域请求:

Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Content-Type, Authorization
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS

如果你用的是 Spring Boot,代码示例:

@CrossOrigin
@RestController
@RequestMapping("/api")
public class DemoController {
}

代理解决跨域(开发环境常用)

通过前端代理转发:

// vue.config.js
module.exports = {devServer: {proxy: {'/api': {target: 'http://backend-server.com',changeOrigin: true,pathRewrite: { '^/api': '' }}}}
};

前端请求:/api/user
实际请求:http://backend-server.com/user


JSONP / iframe

仅限 GET 请求,现代项目很少用,不推荐。


Nginx 反向代理

生产环境统一网关,避免跨域,前端与后端统一域名。

location /api/ {proxy_pass http://backend-server.com/;
}

4️⃣ 跨域与 Token 的问题

如果你的跨域场景中涉及到登录态,后端必须支持:

  • CORS + Authorization
  • 或者基于 cookie,则要注意 withCredentials 设置
axios.defaults.withCredentials = true;

七、总结(重点记忆)

存储方式生命周期场景
localStorage永久,除非手动清理存储 Token、用户偏好
sessionStorage页面关闭失效临时数据
cookie有时效(服务器控制)登录状态 / 跨域传递状态

跨域根治办法:让后端配置 CORS


八、附:安全提醒

  • Token 建议短时有效、后端验证
  • 防 XSS 注入,避免被盗用
  • HTTPS 保证安全传输

关于 Token 的存储与跨域问题,理解了浏览器的工作原理,这些问题都不再神秘。
如果你还遇到跨域问题、Token 问题、或者想进一步了解 JWT / OAuth2 等安全机制,欢迎留言交流 👏。
Google chrome 跨域问题

http://www.dtcms.com/wzjs/351925.html

相关文章:

  • 搭建微擎网站后怎么做微官网个人建网站需要多少钱
  • 做网站什么语言网络营销策划方案书范文
  • 上海优化排名蓝天seoseo文章生成器
  • 优化方案英语选择性必修二答案长春seo技术
  • 公司注册流程步骤seo上海网站推广
  • dz网站后台免费推广seo
  • 天津最好的网站建设免费刷赞网站推广qq免费
  • 东城免费做网站广州今日头条新闻
  • 邢台地区网站建设口碑好免费b站推广网站详情
  • 网站404页面怎么做网络设计
  • 如皋网站建设公司青岛招聘seo
  • 平顶山城市住房城乡建筑网站网站top排行榜
  • 为什么实验楼网站上做实验这么卡珠海企业网站建设
  • 建设网站com关键词分词工具
  • 征婚网站做原油长春网站优化页面
  • 现在做一个网站最少要多少钱下载百度地图2022最新版官方
  • 企业画册封面设计优化设计方法
  • 英文网站建设网站设计公司排行榜
  • 常用的搜索引擎的网站怎么查百度搜索排名
  • wordpress生成接口北京seo课程培训
  • 企业邮箱排名seo咨询服务
  • 零食铺网站建设策划书进入百度官网首页
  • 正能量网站网址大全seo日常工作内容
  • 做本地网站要服务器吗seo推广官网
  • 百度seo优化价格广州seo教程
  • 廊坊网站建设方案最新报价北京网站优化
  • 建站之星破解版seo整站优化费用
  • 保定三金网络科技有限公司涟源网站seo
  • 做网站用服务器福建百度seo排名点击软件
  • 女的和男的做那个视频网站长沙网络营销外包哪家好