常见问题之JS——Url地址转码与解码

常见问题之JS——Url地址转码与解码

背景

日常我们开发时,我们会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。
同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。

开发环境

  • 系统:windows10

内容

我们在日常编写前端代码时常常调用后端接口,而接口大部分都有传参操作,而有一些参数值会和http中使用的关键词冲突,这时我们就需要使用到转码,部分转码工作由浏览器自动化完成,而很多都是需要我们手动接入进行转码。下面是我整理的一些常用的转码方式,整理出来便于大家日常使用。

1、encodeURI和decodeURI

let url = 'http://127.0.0.1:8080/login?uri=http://127.0.0.1:8080/userInfo?id=test001&name=无名';
console.log(url);
console.log(encodeURI(url));

看其打印的情况,我们会发现经过encodeURI处理后的地址发生了转码。同样的,前端接受到这类转码后的地址,我们可以使用decodeURI进行解码回来。
当然,encodeURI也是有局限的,它有一些常见的字符还是无法做到有效转码。

2、encodeURIComponent 和 decodeURIComponent

上面我们使用了encodeURI转码,而&这类字符没有有效转码,没有达到我们想要的效果,这时我们就需要使用到encodeURIComponent ,它可以将; / ? : @ & = + $ , #等这类特殊字符进行转码,这样就可以满足于我们上面的测试代码的使用了,同样的遇到该类的转码后的地址,我们可以使用decodeURIComponent将其解码回来。

参见文章:https://www.cnblogs.com/lvmylife/p/7595036.html

本文声明:
88x31.png
知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CN華少

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值