JavaScript的URL传参时参数带"?"不好截取处理

JavaScript的URL传参时参数带"?"不好截取处理

问题情景

JavaScript的用URL传递参数时,如果用URL以"?“加上”&"的方式传参,接收到参数后需要截取,但是参数包含了“?”导致不好截取。

另外,如果给后台传参,使用post不会有乱码问题参数,get则不然

处理方式

使用encodeURIComponent()转码参数,函数可把字符串作为 URI 组件进行编码

encodeURIComponent(URIstring)

encodeURIComponent介绍

  • 该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ’ ( )

  • 其他字符(比如 :; / ? : @ & = + $ , # 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的

encodeURIComponent() 函数 与 encodeURI() 函数的区别

encodeURIComponent() 函数 与 encodeURI()函数的区别之处,前者假定它的参数是 URI的一部分(比如协议、主机名、路径或查询字符串)。因此encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。

参考文档

JavaScript encodeURIComponent() 函数 w3school


(全文完)

欢迎光临:松果前端开发导航

猜你喜欢

转载自blog.csdn.net/qq_20889171/article/details/83546391