ajax传递特殊字符串问题 +%@

当你用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 尊重他人劳动成果就是尊重自己!

原文地址:https://www.cnblogs.com/jghdream/p/4434729.html