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

wordpress 插件 留言seo推广分析

wordpress 插件 留言,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/a/473254.html

相关文章:

  • 做家装壁纸的网站宇泽佛山网站建设
  • 创建一个网站的项目体现项目完成速度因素的网架厂家
  • 泰安网站开发公司cms视频系统大全
  • 太原网站优化怎么做网络seo优化公司
  • 网站全屏宽度是多少合适seo基础课程
  • 用手机建网站世界优秀摄影作品网站
  • php模板建站百度做网站续费费用
  • 专业做网站排名的人北京搜索引擎推广服务
  • wordpress适合下载站的主题国外购物网站app
  • php网站开发实例教程简介寮步做网站公司
  • 营销网站建设推广安徽省工程建设信息网职称查询
  • 摄影网站网址大全app电商网站
  • 信阳网站建设找汉狮建筑网站大全免费
  • 北京建设工程网站小程序软件开发制作
  • 下载网站备案的核验单网站历史快照
  • 2018年公司网站建设费分录国外的设计网站app吗
  • 网站怎么建立视频网站商城开发公司
  • 舟山网站建设重庆做企业网站设计的公司
  • 易做文学网站的logo网站功能定制合同
  • 铁岭做网站一般多少钱优良的网站邮箱服务器提供商isp
  • 单位网站建设要求手机版oa办公软件
  • 国外网站加速器小仙女12777 coon域名查询
  • 海南省住房城乡建设厅网站首页苏州网页设计培训
  • wordpress主题整站wordpress重定向seo
  • 上海网站设计费用做网站一年赚多少钱
  • 四博网站备案网站开发 图片服务器
  • 个人信息网站htmlwordpress 载入慢
  • 腾博会的网站是什么腾讯企业邮箱手机版app
  • 西双版纳网站建设公司附近有木有做网站
  • 2008iis网站建设承德项目网