浏览器如何传递特殊参数#、+、%等字符?????????

highreport 2006-08-25 09:34:10
例如:
window.open("1.asp?param1=m#d¶m2=+%asdf")
这种打开窗口不能接收到参数,我该怎么办呢?
...全文
623 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
郭大侠_ 2006-08-25
  • 打赏
  • 举报
回复
以前我的参数中有汉字时,用escape就好使
郭大侠_ 2006-08-25
  • 打赏
  • 举报
回复
只要是url,好像是用escape函数后,都不用解码,得到的就是正确的数据
wawowawoo 2006-08-25
  • 打赏
  • 举报
回复
学习
帮顶!
slayerbb 2006-08-25
  • 打赏
  • 举报
回复
encodeURIComponent
encodeURIComponent 方法
将文本字符串编码为一个统一资源标识符 (URI) 的一个有效组件。

encodeURIComponent(encodedURIString)

必选的 encodedURIString 参数代表一个已编码的 URI 组件。


decodeURIComponent
decodeURIComponent 方法
返回统一资源标识符 (URI) 的一个已编码组件的非编码形式。

decodeURIComponent(encodedURIString)

必选的 encodedURIString 参数代表一个已编码的 URI 组件。
<script language=javascript>
var strs="fasodfasklfj&*^%^#)*(@^(&*#(@(#$&+"
strs=encodeURIComponent(strs)
document.write(strs)
document.write("<br>")
document.write(decodeURIComponent(strs))
</script>
highreport 2006-08-25
  • 打赏
  • 举报
回复
如果自己定义一个函数 是否比较好,还是有点得不尝试呢 欢迎大家提点意见

function swapParameter(swapData)
{
if (swapData == null)
return null;

while(swapData.indexOf("%") != -1)
swapData = swapData.replace("%", "%25");

while(swapData.indexOf("#") != -1)
swapData = swapData.replace("#", "%23");

while(swapData.indexOf("+") != -1)
swapData = swapData.replace("+", "%2B");

while(swapData.indexOf("&") != -1)
swapData = swapData.replace("&", "%26");

return swapData;
}

不需要解码同时实现编码的功能 可以吗
highreport 2006-08-25
  • 打赏
  • 举报
回复
是用js的escape方法

但是有个问题:
%、#、+、&这四个字符并不能都会编码 其次escape方法后还要用unescape方法解码 这样是不是有点不合适呢????
wuxinlangman 2006-08-25
  • 打赏
  • 举报
回复
js用escape
wuxinlangman 2006-08-25
  • 打赏
  • 举报
回复
用URLEncode方法把URL给转码

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧