资讯专栏INFORMATION COLUMN

cookie token 乱码的坑 decodeURIComponent 解码解决

史占广 / 1765人阅读

摘要:项目为前后端分离使用来身份验证之前客户端存储一直使用的是最近要兼容到和的无痕模式。没有找到好的兼容解决办法,只能使用。在存储的时候发现存储进去的字符串长度与实际的不一致最终在取值的时候使用来转码之后正确了。

项目为前后端分离  使用jwt来身份验证

之前客户端存储一直使用的是localStorage ,最近要兼容到 UC 和 safari 的无痕模式。没有找到好的兼容解决办法,只能使用cookie。

在存储token的时候 发现存储进去的token字符串长度与实际的token不一致 最终在取值的时候 使用decodeURIComponent 来转码之后 正确了。

之前一直以为 需要 encodeURI 和 decodeURI & encodeURIComponent 和 decodeURIComponent 是需要对应着用的

找错的时候也一直陷入这个误区,最终解决后回顾这个问题

我认为是浏览器存储cookie的时候 已经使用过 encodeURIComponent 来编码过

查阅资料也没有找到比较权威的说法,写在这里,最终留给自己做个记录!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/108795.html

相关文章

  • Base64 JS编码/解码

    摘要:注意点如果所示,上面说到的编码解码方法并不支持中文,因为它们只支持编码。转换编码中文进行转码之后在编码。最优方案在某些情况下,用了上面的方法也会出现中文乱码的情况,如获取到的音乐歌词解析出来的歌词等。 为什么要编码 简单粗暴的解释就是为了数据的安全性。 编码/解码常用方法(仅针对Base64) 编码 我们一般使用 window.btoa() 对原始数据进行编码。 解码 我们一般使用 w...

    why_rookie 评论0 收藏0
  • javascript URL 编码与解码

    摘要:对应对应这里的编码你可以用自带的编码函数,当然你也可以按照规则和标准自行开发编码函数。实战应用举例说了这么多可能很多人就问了,自带的编码与解码函数在实际中是如何应用的,为什么需要两个不同的编码与解码函数。 编码与解码函数 编码函数 encodeURIencodeURIComponent 解码函数 decodeURIdecodeURIComponent 编码规则相同点 会替换所有的字符,...

    Eminjannn 评论0 收藏0
  • 玩转Koa -- koa-bodyparser原理解析

    摘要:主要通过处理二进制数据流,但是它并不支持字符编码方式,需要通过模块进行处理。最后留图一张往期精彩回顾玩转原理解析玩转核心原理分析 一、前置知识   在理解koa-bodyparser原理之前,首先需要了解部分HTTP相关的知识。 1、报文主体   HTTP报文主要分为请求报文和响应报文,koa-bodyparser主要针对请求报文的处理。   请求报文主要由以下三个部分组成: 报文头...

    andycall 评论0 收藏0
  • js-cookie源码学习

    这篇文章最初发表在我自己搭建的站点js-cookie库源码学习 背景 最近在做项目的时候,前端登录功能要做一个记住密码的功能。但开发用的框架中没有实现这个功能,所以我就想自己实现这个功能。实现起来其实很简单,就是每次用户在登录页面点击登录时,把用户输入的用户名和密码保存到cookie中就可以了,当用户再登录时,再从cookie中获取用户名和密码填充到表单中就可以了。当然,也可以选择保存在local...

    JellyBool 评论0 收藏0
  • 前端分享之cookie的使用及单点登录

    摘要:两个域之间是不是存在跨域问题,主要是根据协议域名端口号这三个点进行判断,只要有一个不一样就是跨域。例如协议不同与域名不同与端口号不同与浏览器默认情况下无法主动跨域向后端发送,需要在前端请求时加入配置项。据此,可以实现单点登录。 cookie是什么 cookie的英文意思是饼干。在计算机术语中指服务端存放在客户端的一段数据。这段数据在客户端每次进行http请求时会自动加在http请求报文...

    Backache 评论0 收藏0

发表评论

0条评论

史占广

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<