中文作为参数传入 window.showModalDialog出现乱码的解决办法

中文作为参数传入 window.showModalDialog出现乱码的解决方法

今天碰到一个问题:
    输入一个商品关键字,按回车,然后弹出一个窗口列出包含这个关键字的商品,在传入这个关键字是出现了乱码。

问题的解决方法很简单,就是将url转码

     var url = ctx+"/good!list.do?todo=show&good.name="+name;
	        url = encodeURI(encodeURI(url));//中文转码
          window.showModalDialog(url, '',  "status:no;left:yes;scroll:yes;resizable:no;help:no;
           dialogWidth:800px;dialogHeight:600px");

escape 函数

escape(expression:String) :String

将参数转换为字符串,并以 URL 编码格式对其进行编码,在这种格式中,所有非字母数字的字符都替换为 % 十六进制序列。当用于 URL 编码的字符串中时,百分号 (%) 用于引入转义符,不与模运算符 (%) 等效。

urlencode 与urldecode说明

string urlencode ( string str )

返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 RFC1738 编码(参见 rawurlencode())不同。此函数便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值