转!!URL 传+号到后台变空格问题解决方案
网上很多解决方法,但是前提是get请求(或者是post请求后面追加的参数),让我试了很久(我是post),没成功!引以为戒!!
今天在调试客户端向服务器传递参数时,参数中的“+”全部变成了空格,原因是URL中默认的将“+”号转义了。
解决方法如下:
方法一、修改客户端,将客户端带“+”的参数中的“+”全部替换为“2B%”,这样参数传到服务器端时就能得到“+”了。
方法二、修改服务器端,将空格替换为“+”,这种方式只适用于参数中有“+”没有空格的情况。
例子:
String a = reuqest.getParameter("clientStr").replace(' ','+');
如果客户端为clientStr=test+OK,那么a的值为test+OK;
方法三、修改服务器端,将获取参数的方法由reuqest.getParameter改为request.getQueryString().substring(0),然后对得到的字符串进行解析。
例子:
String a =request.getQueryString().substring(0);
如果客户端为clientStr=test+OK,那么a的值为clientStr=test+OK,需要再解析一下,
a=a.substring(10);得到a的值为test+OK。
附:一个JS,用来转义URL中特殊字符的。
function URLencode(sStr)
{
return escape(sStr).replace(/\+/g, '+').replace(/\"/g,'"').replace(/\'/g, ''').replace(/\//g,'/');
}
还一种方案 --我用的
encodeURIComponent(querySql);
strURL = "search.do?param=" + encodeURIComponent(str);
普通的传参出现乱码问题,可使用encodeURI来转译,它会转译成UTF-8的格式;
strURL = "search.do?param=" + encodeURI(str);
转!!URL 传+号到后台变空格问题解决方案的更多相关文章
- URL 传+号到后台变空格问题解决方案
今天巧合遇到这个问题,下面是网上找的解决方案. 原文:http://blog.sina.com.cn/s/blog_a0949eec01010xta.html 今天在调试客户端向服务器传递参数时,参数 ...
- 解决url传递过程中加号变空格的问题
url传递过程中加号变空格 在接收url参数的过程中,会发现如果参数中存在‘+’号,接收后会变成空格. 如11+22接收后变成11 22. 要解决这个问题,需要将加号替换为%2B进行传递. 如11%2 ...
- 解决url传递过程中加号变空格的问题<转>
url传递过程中加号变空格在接收url参数的过程中,会发现如果参数中存在‘+’号,接收后会变成空格. 如11+22接收后变成11 22.要解决这个问题,需要将加号替换为%2B进行传递. 如11%2B2 ...
- jsp中 url传参到后台的参数获取
datagrid传值url方法1:<input type="hidden" id="sortid"> <table id="dg&q ...
- 加号变空格问题 url参数 post get 请求发送
问题:加号后台接收变空格问题 结论: 1.任何get拼接的请求 参数key value 需要编码后在拼接 2.get请求避免做数据提交,用post提交.jq,axios的post提交默认编码了不会有问 ...
- base64码通过http传输 +号变 空格 问题解决
通过七牛云base64上传图片,通过官方示例上传成功后,根据示例改了一个controller. 通过前端往后端传base64码形式进行测试.死活不通过,七牛报400. 仔细排查后发现,示例转换的bas ...
- tomcat自动URLDecode解码问题(+号变空格)
最近项目中出现一个问题,就是前段调后端接口,参数带+号,传到后端后+号自动URLDecode成空格了. 1.问题排查 条件:tomcat配置server.xml有URIEncoding="U ...
- url传输中+转为%2B取到变空格的问题
一个加密串,通过url传过来后怎么也解密不了. 原串: h1tQYMmnx7jdvowi9KnaEM5dHfamJ+rbaRnvhwhUmRAvyxpA2AGzszx5k9K0qdhiQUq7m42S ...
- URL传中文参数导致乱码的解决方案之encodeURI
通过URL传中文参数时,在服务端后台获取到的值往往会出现乱码问题,解决方案有很多种,本文主要介绍如何通过encodeURI来解决中文乱码问题: first:前端传递参数的时候需要对中文参数进行两次en ...
随机推荐
- Mongo聚合函数
{ "_id" : ObjectId("57301c7e5fd5d6e2afa221d1"), "a" : "张三", ...
- Android 自定义spinner下拉框实现的实现
请支持原创:http://blog.csdn.NET/geniuseoe2012/article/details/8723702 说到Android下拉框spineer,框架中虽有现成的控件,但实际效 ...
- MVC项目中验证码的使用
这是我记录验证的第二篇文章,之前还有一篇是ashx一般处理程序的. 验证码类: 需要添加两个引用:System.Web.System.Drawing //需要添加两个引用:System.Web.Sys ...
- JQuery 表单校验插件 validate 使用纪录
JS诞生其中一个目的就是将, 服务器端的校验在客户端提前完成, 以避免用户提交数据后, 后台校验报错的糟糕用户体验. 基于JQuery库的有很多优秀的插件, 其中对于浏览器端表单进行验证的基本功能也有 ...
- 帝国CMS内容模板IF判断
[e:loop={'selfinfo',50,0,0,"jingshu=$navinfor[jingshu]","id"}]<?php$class1=&q ...
- 《30天自制操作系统》18_day_学习笔记
harib15a: 到这里为止,我们已经能实现窗口的切换了.我们发现所有的窗口都有光标闪烁,而我们只希望可以接受输入的窗口有光标闪烁.这里我们先来修改任务A中的光标闪烁,当按下TAB时,如果让A不现实 ...
- Java中String类的方法及说明
String : 字符串类型 一. String sc_sub = new String(c,3,2); // String sb_copy = new String(sb) ...
- java的客户端可以连接CPlus的服务端
今天做的实验,用c++做的服务端,端口号为6000:用java做的客户端,IP为127.0.0.1,port为6000,结果双方可以连接上线: 贴代码: 服务端: #include <winso ...
- JSR 303标准
JSR 303是Java为bean数据合法性校验提供的标准框架,JSR 303通过在Bean属性上标注类似于@NotNull.@Max等标准的注解指定校验规则,并通过标准的校验接口对bean进行验证. ...
- HTML5中的时间类型,另外EL表达式的时间值来读取时间,并且还可以更改时间
HTML5规范里只规定date新型input输入类型,并没有规定日历弹出框的实现和样式.所以,各浏览器根据自己的设计实现日历.目前只有谷歌浏览器完全实现日历功能.相信这种局面很快就会结束,所有的浏览器 ...