当你用ajax传递值到服务器端,如果值中包含特殊字符串如+,&等,在服务器端获取的结果可能就会出现差异,因为这些字符有其它用途,
如“+”表示连接符,在转义后你获取到的就是空格。
可以看看这些特殊字符与十六进制的关系:
+ | 空格 | / | ? | % | & | = | # |
%2B | %20 | %2F | %3F | %25 | %26 | &3D | %23 |
如果变量中确实需要包含这些特殊字符,请用encodeURIComponent()函数过滤,它会对这些字符编码,服务器端是会被自动解码的,不需要处理。
另外,尽量提交json格式数据 如 {a:"aaa", b:"bbb"} 而非 "a=aaa&b=bbb"
转载请注明地址: http://www.phpddt.com/dhtml/escape-special-chars.html 尊重他人劳动成果就是尊重自己!