jQuery ajax传递特殊字符串问题
当你用ajax传递值到服务器端,如果值中包含特殊字符串如+,&等,在服务器端获取的结果可能就会出现差异,因为这些字符有其它用途,如“+”表示连接符,在转义后你获取到的就是空格。
可以看看这些特殊字符与十六进制的关系:
+ | 空格 | / | ? | % | & | = | # |
%2B | %20 | %2F | %3F | %25 | %26 | &3D | %23 |
如果变量中确实需要包含这些特殊字符,请用encodeURIComponent()函数过滤,它会对这些字符编码,服务器端是会被自动解码的,不需要处理。
另外,尽量提交json格式数据 如 {a:"aaa", b:"bbb"} 而非 "a=aaa&b=bbb"
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。