首页 > 其他 > 详细

关于服务器和客户端传值的问题

时间:2015-09-08 15:25:38      阅读:233      评论:0      收藏:0      [点我收藏+]

在客户端浏览器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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!