关于解决JS在url中传递参数时编码格式的问题

在PC端项目中遇到URL参数编码问题,本文探讨了JavaScript的escape(), encodeURI(), encodeURIComponent()函数在URL编码中的作用和区别,以及如何解决编码转换问题。" 118035208,783471,Python双线程爬取《可爱图片》网站动漫图,"['Python爬虫', '多线程爬虫', '图片爬取', '网页抓取', '数据提取']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做PC端的项目,途中遇到了一个问题,就是关于url中传递参数时参数被转换的问题。

问题如下:

	参数从前一个页面传递过来的格式:URL?id=3534&catName=今日头条
	但是需要用到参数时拿到的 catName 就变成了 %E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1 这种 URL 编码形式表示的 ASCII 字符(十六进制格式);		

有兴趣的可以去了解一下这篇文章。关于URL编码

解决方案

	1.使用 decodeURI(URIString)
	2.使用 decodeURIComponent(URIString)

经过查阅资料发现 js 对文字进行编码涉及以下几个JavaScript顶层函数:

1.escape(URIstring) 对应解码方法 unescape(URIstring)
	可对字符串进行编码,ECMAScript 不推荐使用,推荐使用 decodeURI(URIstring) 和 decodeURIComponent(URIstring) 替代它;
	
2.encodeURI(URIstring) 对应解码方法 decodeURI(URIstring)
	encodeURI(URIstring) 函数可把字符串作为 URI 进行编码,方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值