标签:
在客户端浏览器AJAX传值时会出现传递的值在服务器端接受不正常问题,通常问题出现在"+","&"上,
出现的现象是+变空白,&变分隔,因为+号在是保留用来传递空格的符号,而真正的加号变成了%2B
对应的解决办法是
str= encode.replace(/\+/g, "%2B").replace("/\&/g", "%26");
同样,服务器端传递加号时也需要处理
System.Web.HttpUtility.UrlEncode(str).Replace("+","%20")
System.Web.HttpUtility.UrlEncode函数会将空格变成+号,而原本的加号已经变成%2B
同时附上客户端的编码情况
escape不编码字符有69个(基本上就是编码中文,适用于传递html):*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不编码字符有82个(编码为一个有效的URL地址):!,#,$,&,‘,(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不编码字符有71个(中文+http://等地址,用于传递整个地址):!, ‘,(,),*,-,.,_,~,0-9,a-z,A-Z
标签:
原文地址:http://www.cnblogs.com/21tcy/p/4791574.html