您的位置:首页 > 运维架构 > Apache

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

2015-09-01 08:45 537 查看
在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 方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息