URL 传+号到后台变空格问题解决方案
URL 传+号到后台变空格问题解决方案
客户端向服务器传递参数时,参数中的“+”全部变成了空格,原因是URL中默认的将“+”号转义了
解决方法如下:
1.修改客户端,将客户端带“+”的参数中的“+”全部替换为“2b%”,这样参数传到服务器端时就能得到“+”了。
1
2
3
4function URLencode(sStr)
{
return escape(sStr).replace(/\+/g, '+').replace(/\"/g,'"').replace(/\'/g, ''').replace(/\//g,'/');
}2.修改服务器端,将空格替换为“+”,这种方式只适用于参数中有“+”没有空格的情况。
1
str.Replace(" ", "+");
3.普通的传参出现乱码问题,可使用encodeURI来转译,它会转译成UTF-8的格式;
1
2strURL = "search.html?param=" + encodeURIComponent(str);
strURL = "search.html?param=" + encodeURI(str);
评论