在JavaScript编码URL不编码&
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在JavaScript编码URL不编码&相关的知识,希望对你有一定的参考价值。
不编码有一个URI具有特殊意义(保留字符)的字符。下面的例子显示了所有一个URI“方案”可以包含可能的部件。
qazxsw POI不会编码下列特殊字符
encodeURI
A-Z a-z 0-9 ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) #
使用encoreURIComponent代替编码let uri = "?qry=M & L"
console.log(encodeURIComponent(uri))
如&
如下所示。但它也编码其他特殊字符像%26
和?
=
该let uri = "?qry=M & L"
console.log(encodeURIComponent(uri))
不会编码encodeURI()
因为它只会编码组特定的特殊字符。编码&
你需要使用&
。
encodeURIComponent
编码除一切:
encodeURI
A-Z a-z 0-9 ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) #
编码除一切:
encodeURIComponent
A-Z a-z 0-9 - _ . ! ~ * ' ( )
您应该使用encodeURIComponent方法(),而不是是encodeURI()
注:通常encodeURIComponent方法()来编码字符串(查询字符串),将被投入到URL。如果您使用的是现有的网址进行编码,然后你可以使用是encodeURI()
MDN
参考:const uri = "?qry=M & L";
console.log(encodeURIComponent(uri));
参考这里:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent你有三个选择:
url encode
从escape(str) will not encode: * @ - _ + . /
encodeURI(uri) will not encode: ~!@#$&*()=:/,;?+'
encodeURIComponent(uri) will not encode: ~!*()'
使用encodeURI()函数用于编码一个URI。
该功能将特殊字符编码,除非:,/? :@&= + $#(使用here编码这些字符)。
而且,还看到encodeURIComponent()
所以,你可能必须做一些像
this answer
希望这可以帮助!干杯!
以上是关于在JavaScript编码URL不编码&的主要内容,如果未能解决你的问题,请参考以下文章