Dmi*_*try 14 javascript encoding
我需要通过POST方法发送数据.
例如,我有字符串"bla&bla&bla".我尝试使用encodeURI并得到"bla&bla&bla"作为结果.对于这个例子,我需要用正确的东西替换"&".
我应该用什么样的方法来准备正确的POST数据?
更新:
我只需要转换可能破坏POST请求的charachters.只有他们.
Álv*_*lez 21
>>> encodeURI("bla&bla&bla")
"bla&bla&bla"
>>> encodeURIComponent("bla&bla&bla")
"bla%26bla%26bla"
Run Code Online (Sandbox Code Playgroud)
Bhu*_*ake 13
您也可以使用escape()函数.escape()函数对字符串进行编码.此函数使字符串可移植,因此可以通过任何网络传输到任何支持ASCII字符的计算机.此函数对特殊字符进行编码,但以下情况除外:* @ - _ + . /
var queryStr = "bla&bla&bla";
alert(queryStr); //bla&bla&bla
alert(escape(queryStr)); //bla%26bla%26bla
Run Code Online (Sandbox Code Playgroud)
使用unescape()解码的字符串.
var newQueryStr=escape(queryStr);
alert(unescape(newQueryStr)); //bla&bla&bla
Run Code Online (Sandbox Code Playgroud)
注意:
escape() will not encode: @*/+
encodeURI() will not encode: ~!@#$&*()=:/,;?+'
encodeURIComponent() will not encode: ~!*()'
Run Code Online (Sandbox Code Playgroud)
经过一些互联网搜索后,我得到了以下内容:
逃逸()
不要使用它.
是encodeURI()
如果需要工作URL,请使用encodeURI.拨打这个电话:
encodeURI("http://www.google.com/a file with spaces.html")
Run Code Online (Sandbox Code Playgroud)
要得到:
http://www.google.com/a%20file%20with%20spaces.html
Run Code Online (Sandbox Code Playgroud)
不要调用encodeURIComponent,因为它会破坏URL并返回
http%3A%2F%2Fwww.google.com%2Fa%20file%20with%20spaces.html
Run Code Online (Sandbox Code Playgroud)
encodeURIComponent方法()
如果要对URL参数进行编码,请使用encodeURIComponent.
param1 = encodeURIComponent(" http://xyz.com/?a=12&b=55 ")
Then you may create the URL you need:
url = "http://domain.com/?param1=" + param1 + "¶m2=99";
Run Code Online (Sandbox Code Playgroud)
您将获得这个完整的URL:
http://www.domain.com/?param1=http%3A%2F%2Fxyz.com%2F%Ffa%3D12%26b%3D55¶m2=99
Run Code Online (Sandbox Code Playgroud)
请注意,encodeURIComponent不会转义'字符.一个常见的错误是使用它来创建html属性,例如href='MyUrl',可能遭受注入错误的html属性.如果要从字符串构造html,可以使用"而不是"作为属性引号,或者添加额外的编码层('可以编码为%27).
REF:你什么时候应该使用escape而不是encodeURI/encodeURIComponent?
此外,在使用JQuery时,请查看此内置函数.
小智 6
使用encodeURIComponent()作为encodeURI()将不编码: ~!@#$&*()=:/,;?+'
在以下链接中已经很好地解释了这一点:
http://xkr.us/articles/javascript/encode-compare/
| 归档时间: |
|
| 查看次数: |
44196 次 |
| 最近记录: |