今天我在调程序时,遇到了见郁闷的事,我用ajax从前台显示页面传字符串变量给处理页面,出现了件怪事,我想传的内容是abc+,但接收以后用System.out.println()输出是abc空格。反复测试好几遍,都是这个结果,真是令人郁闷。在网上搜了搜,找到了原因。
原因: url中有些字符被转义,比如空格被编码成加号,于是传的参数明明是加号,获取的值却成了空格。如何解决呢?如果是通过url传递参数,应该对其进行必要的编码。
解决办法:
在javascript中加入 function URLencode(sStr)
{
return escape(sStr).replace(//+/g, '%2B').replace(//"/g,'%22').replace(//'/g, '%27').replace(////g,'%2F');
}
对字符串进行处理.如:var str=URLencode("abc+")
方法来自网络,地址:http://ms.mblogger.cn/doraeimo/posts/20634.aspx
request.getParameter("变量名")获取的字符串中原来的加号变成了空格,url传值
最新推荐文章于 2021-03-07 13:31:41 发布
本文记录了一次使用ajax传递字符串变量遇到的问题及解决方案。当尝试传递含有加号的字符串时,接收结果显示为空格。文章解释了这一现象的原因在于URL转义机制,并提供了一种JavaScript函数来正确编码加号。
3444

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



