在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 方法
{
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 方法
相关文章推荐
- Apache之——配置虚拟目录(监听多个端口)
- apache下设置缓存方法详细介绍
- win Apache 使用 openssl 开启ssl步骤
- Apache配置域名跳转、日志切割、静态缓存、防盗链、访问控制
- Apache之——配置虚拟主机
- xampp和testlink的安装
- apache fcgi机制核心实现代码
- java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource解决方法
- Apache ZooKeeper 学习笔记
- [转]Web性能压力测试工具之ApacheBench(ab)详解
- MyEclipse报错org.apache.jasper.JasperException: Unable to compile class for JSP:
- JAVA~使用Mac OS自带的apache
- apache cgi机制核心实现代码
- apache tez on hadoop-2.7.1
- Cloudera的CDH和Apache的Hadoop的区别
- 五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT) – 整理
- apache下支持asp.net的实现方法
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
- org.apache.log4j.Logger 详解
- apache基本配置