将文本字符串编码为一个有效的统一资源标识符 (URI)。
encodeURI(URIString)
必选的 URIString 参数代表一个已编码的 URI。
说明
encodeURI 方法返回一个编码的 URI。如果您将编码结果传递给 decodeURI,那么将返回初始的字符串。encodeURI 方法不会对下列字符进行编码:":"、"/"、"" 和 "?"。请使用 encodeURIComponent 方法对这些字符进行编码。
工作中遇到的小问题,一个页面中通过window.showModel("comm/morelanguage.jsp?str=zh_CN:爱#zh_TW:爱en:love",,,,)弹出另一个页面并将参数传递到另一个页面,另一个页面接受得到src参数值时会出现问题,值不对,测试过是因为#特殊字符的问题,对于这些特殊字符我采取的办法是传参数时,str=escape('str=zh_CN:爱#zh_TW:爱en:love')处理
接受参数时,拿到str后str=unescape(str)
方法一:(伪装form表单提交)linkredwin
=
function(A,B,C,D,E,F,G){
var
formredwin
=
document.createElement("form")
formredwin.method
=
'POST'
document.body.appendChild(formredwin)
formredwin.action
=
"http://www.A.com/A.wiki?A="
+encodeURI(A)
+
"&B="
+encodeURIComponent(B)
+
"&C="
+encodeURI(C)
+
"&D="
+encodeURI(D)
+
"&E="
+encodeURI(E)
+
"&F="
+encodeURI(F)
+"&G="+encodeURI(G)
formredwin.submit()
formredwin.parentNode.removeChild(formredwin)
}
方法二:
1.
+
URL
中+号表示空格
%2B
2.
空格
URL中的空格可以用+号或者编码
%20
3.
/
分隔目录和子目录
%2F
4.
?
分隔实际的
URL
和参数
%3F
5.
%
指定特殊字符
%25
6.
#
表示书签
%23
7.
&
URL
中指定的参数间的分隔符
%26
8.
=
URL
中指定参数的值
%3D
以上这篇js的form表单提交url传参数(包含+等特殊字符)的两种解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。