在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
"。
(URI) 进行编码。对其编码应使用 encodeURI 和 encodeURIComponent 方法。
2.unescape 方法
解码用escape()方法编码的string对象
unescape(charstring)
必选项charstring参数是要解码的String对象。
说明
unescape方法返回一个包含charstring内容的字符串值。所有以%xx十六进制形式编码的字符都用ASCII字符集中等价的字符代替。
以 %uxxxx 格式(Unicode 字符)编码的字符用十六进制编码 xxxx 的 Unicode 字符代替.
注意 : unescape 方法不能用于解码统一资源标识码
(URI)。解该码可使用 decodeURI 和 decodeURIComponent 方法