URL中原来的加号变成了空格(Server.UrlEncode无效)解决方案
2013-07-23 23:29
447 查看
今天我在调程序时,遇到了见郁闷的事,我用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
原因: 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
相关文章推荐
- IOS URL无法对加号进行编码导致http请求时服务器端获取的内容中加号变成空格问题
- IOS URL无法对加号进行编码导致http请求时服务器端获取的内容中加号变成空格问题
- url 参数的加号变成空格处理
- UrlEncode从数据库中读取字符串时其中的空格变成加号
- request.getParameter("变量名")获取的字符串中原来的加号变成了空格,url传值
- Server.UrlEncode与Server.UrlDecode(url传递中文的解决方案)
- Server.UrlEncode与Server.UrlDecode(url传递中文的解决方案)
- Server.UrlEncode、HttpUtility.UrlDecode不同编码 下载时文件名变成乱码
- HttpUtility.UrlEncode 在 Encode 的时候, 将空格转换成加号('+'), 在 Decode 的时候将加号转为空格, 但是浏览器是不能理解加号为空格的, 所以如果文件名包含了空格, 在浏览器下载得到的文件, 空格就变成了加号
- ajax提交响应后台加号(+)变成空格
- 错误提示「URL file-access is disabled in the server configuration」解决方案
- iOS URLencode加号变空格
- Base64编码详解及其变种(解决加号在URL变空格问题)
- php中GET方法加号变成空格
- c#asp.net url 传递中文参数要使用 System.Web.HttpUtility.UrlEncode 而不能使用Server.UrlEncode
- javascript 传递参数中带加号自动变成了空格的解决方法
- javas request中 “加号”变成空格的解决办法
- HttpWebRequest在Post的时候,遇到特殊符号+号(加号)变成空格了
- Server.UrlEncode、HttpUtility.UrlDecode不同编码
- URL的参数中有加号传值变为空格的问题(URL特殊字符)