escape 和 encodeURI 编码传参

escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。

例:

function mkaction(a,b){
  if(a == "中心" || a == ""){
   //window.location.href = "login.do?formAction=index";
  }else{
   //window.parent.
   a = escape(a);
   window.location.href = "dispatch.do?formAction=tomain&lujing="+a+"&mk="+b;
  }
 }
直接获取不用解码:
String lujing = request.getParameter("lujing");
request.setAttribute("lujing", lujing);

encodeURI() 函数可把字符串作为 URI 进行编码。

返回值

URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。

说明

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#


例:
在jQuery  的Ajax

var drugNameCn = encodeURI(encodeURI(drugNameCn));
var sjName = encodeURI(encodeURI("<%=C.show(yaobcDj.getSjname())%>"));
var ssName = encodeURI(encodeURI("<%=C.show(yaobcDj.getSsname())%>"));

$.ajax({
     type: "post",
     url: "yaobcQy.do?formAction=savebc",
     data: "sqfl=<%=C.show(yaobcDj.getSqfl())%>&sjid=<%=C.show(yaobcDj.getSjid())%>&sjname="+sjName+"&ssid=<%=C.show(yaobcDj.getSsid())%>&ssname="+ssName+"&drugNameCn="+drugNameCn,
     success:function(e){
       bcid.val(e);
     }
  });
需要解码
<pre class="java" name="code">String drugNameCn = request.getParameter("drugNameCn");
if(drugNameCn != null && !"".equals(drugNameCn)){
   drugNameCn = URLDecoder.decode(drugNameCn,"utf-8");
  }


 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值