Ajax数据传输的一个问题
问题:用ajax从前台页面传字符串变量给服务器端,想传的内容是abc+,但接收以后用System.out.println()输出是abc空格。
原因:url中有些字符被转义,比如空格被编码成加号,于是传的参数明明是加号,获取的值却成了空格。如何解决呢?如果是通过url传递参数,应该对其进行必要的编码。
解决办法:
在客户端加入下述代码先进行编码:
function URLencode(sStr)
{
return escape(sStr).replace(/\+/g, '%2B').replace(/\"/g,'%22').replace(/\'/g, '%27').replace(/\//g,'%2F');
}
var str=URLencode("abc+")
{
return escape(sStr).replace(/\+/g, '%2B').replace(/\"/g,'%22').replace(/\'/g, '%27').replace(/\//g,'%2F');
}
var str=URLencode("abc+")
作者:洞庭散人
出处:http://phinecos.cnblogs.com/
本博客遵从Creative Commons Attribution 3.0 License,若用于非商业目的,您可以自由转载,但请保留原作者信息和文章链接URL。
posted on 2008-09-24 10:20 Phinecos(洞庭散人) 阅读(497) 评论(0) 编辑 收藏 举报