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

最近在做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() 函数是不会进行转义的&
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值