问题:用ajax从前台页面传字符串变量给服务器端,想传的内容是abc+,但接收以后用System.out.println()输出是abc空格。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
原因:url中有些字符被转义,比如空格被编码成加号,于是传的参数明明是加号,获取的值却成了空格。如何解决呢?如果是通过url传递参数,应该对其进行必要的编码。
解决办法:
在客户端加入下述代码先进行编码:
functionURLencode(sStr)
{
returnescape(sStr).replace(//+/g,'%2B').replace(//"/g,'%22').replace(//'/g,'%27').replace(////g,'%2F');
}
varstr=URLencode("abc+")
{
returnescape(sStr).replace(//+/g,'%2B').replace(//"/g,'%22').replace(//'/g,'%27').replace(////g,'%2F');
}
varstr=URLencode("abc+")
本文介绍了一种解决URL中加号被错误解析为空格的问题,通过使用JavaScript自定义函数URLencode来正确编码字符串,确保了特殊字符能够正确传输。
830

被折叠的 条评论
为什么被折叠?



