在extjs的textfield中输入带有特殊字符的字符串,比如/opt/apache-storm-0.9.4/bin/storm ui &但是&符号却无法传递到后台

在ext中

{                               
                                    xtype:'textfield',
                                    hideLabel:true,
                                    width:'270',
                                    id:'storm_UI',
                                    name:'storm_UI',
                                    value:storm_UI
                                },

var storm_UI = Ext.getCmp('storm_UI').getValue();

url:'machine!updateMachine.action?machine.storm_UI='+escape(storm_UI),

经过escape()编码后在textfile中输入的字符串/opt/apache-storm-0.9.4/bin/storm ui &就能完整的传递到后台了

--------------------------------------------------------------------------------------------------

在extjs中,使用Ext.Ajax.request({
url:'addToMyScheduleExe.action?testSetId='+node.id+'&scheduleName='+scheduleName,
....});
如果使用这中方法进行传参,产生是不会经过编码处理的。也就是说,其中包含的特殊字符不会自动得到编译。所以是无法直接传递特殊字符的。如果想用这个方法传递,之前需要对所传参数进行以前编码。
在extjs中可以不做编码就可以传。哈哈,以以下方式:Ext.Ajax.request({
url:'addToMyScheduleExe.action‘,
params:{testSetId:node.id,scheduleName:scheduleName},
....});

--------------------------------------------------------------------------------------------------

下面具体介绍JS中这两种函数的使用

1.escape方法

对String对象编码以便它们能在所有计算机上可读,   
escape(charString) 
必选项charstring参数是要编码的任意String对象或文字。   

说明 

escape方法返回一个包含了charstring内容的字符串值(Unicode格式)。所有空格、标点、重音符号以及其他非ASCII字符都用%xx编码代替,其中xx等于表示该字符的十六进制数。例如,空格返回的是"%20
"。


  字符值大于   255   的以   %uxxxx   格式存储。

  注意 :escape   方法不能够用来对统一资源标示码
  (URI)   进行编码。对其编码应使用 encodeURI 和 
encodeURIComponent  方法。

2.unescape   方法

解码用escape()方法编码的string对象 
unescape(charstring)   
必选项charstring参数是要解码的String对象。   
说明     

unescape方法返回一个包含charstring内容的字符串值。所有以%xx十六进制形式编码的字符都用ASCII字符集中等价的字符代替。


     以   %uxxxx   格式(Unicode   字符)编码的字符用十六进制编码   xxxx   的   Unicode   字符代替.   


 注意  : unescape 方法不能用于解码统一资源标识码
  (URI)。解该码可使用 decodeURI 和
decodeURIComponent 方法




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值