Ajax Post数据时加号变空格的解决办法
2012-02-14 13:52
393 查看
采用Ajax传递数据时,通常会将数据整理为data="var1=abc&var2=def"。而当数据中存在加号(+)或是连接符(&)时,服务器端接收数据时会有部分数据丢失现象。
分析一下Ajax传递数据的格式与Javascript的语法不难发现:
1. "+"号:JavaScript解析为字符串连接符,所以服务器端接收数据时"+"会丢失。
2. "&":JavaScript解析为变量连接符,所以服务器端接收数据时&符号以后的数据都会丢失。
解决办法也相当简单,只需要为+与&符号编码即可:
function URLencode(sStr)
{
return escape(sStr).replace(/\+/g, '%2B').replace(/\"/g,'%22').replace(/\'/g, '%27').replace(/\//g,'%2F');
}
对字符串进行处理.如:
Java代码
var str=URLencode("abc+");
或者:
Java代码
dst_fname=dst_fname.replaceAll("\\+","%20");
相关文章推荐
- Ajax Post数据时加号变空格的解决办法
- Ajax Post数据时加号变空格的解决办法
- Ajax Post数据时加号变空格的解决办法
- Ajax Post数据加号变空格
- Ajax Post数据时加号变空格的解决办法
- 爬虫爬数据时,post数据乱码解决办法
- ajax的post提交参数长度超出限制的解决办法
- AJAX POST数据中文乱码解决
- 解决js数据包含加号+通过ajax传到后台时出现连接错误
- 关于php的$_POST无法传数据的解决办法
- C# post数据时 出现(417) Expectation Failed 的解决办法
- http请求中传输base64出现加号变空格的解决办法
- ajax的post提交参数长度超出限制的解决办法
- 使用ajax请求后返回数据显示undefinded解决办法
- Django Ajax POST请求失败解决办法
- android POST数据遇到的UTF-8编码(乱码)问题解决办法
- 在phpstorm中利用post方法提交form表单后,在响应页面获取不到数据的解决办法
- iis 7 asp.net ajax post 请求字节过大报错问题解决办法
- [Android Pro] http请求中传输base64出现加号变空格的解决办法
- ajax post 提交数据到服务端时中文乱码解决方法