码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-09-08 15:27:34      阅读:134      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!