Ajax Post请求数据中加号变空格的解决方法
Ajax Post请求数据中加号变空格的解决方法一、后台获取Ajax Post请求数据中参数值是,加号变空格的原因
1、"+"号:JavaScript解析为字符串连接符,所以服务器端接收数据时"+"会丢失。
2、"&":JavaScript解析为变量连接符,所以服务器端接收数据时&符号以后的数据都会丢失。
二、解决方法:将+与&符号进行编码后进行传递
例如:
//使用post方式发送
function doRequestUsingPOST()
{
createXMLHttpRequest();
var retCode = document.getElementById("retCode").value;
var data = document.getElementById("data").value;
data = data.replace(/\\+/g, "%2B");
data = data.replace(/\\&/g, "%26");
var queryString = "retCode=" + retCode + "&data=" + data;
var url = "backSealServlet"; //使用URL向后台传值
xmlHttp.open("POST",url,false);
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.send(queryString);
}