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

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

转载于:https://www.cnblogs.com/21tcy/p/4791574.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值