我使用jQuery序列化一个表单,然后通过ajax将其发送到后端以保存到MySQL。
我遇到了一个问题,对于包含引号“和‘的文本字段,jQuery的.serialize()添加了一个转义斜杠,其结果是POSTed。
例如:‘Monitor Size: 22“’正保存为‘Monitor Size: 22\”’。随着字段的进一步编辑和重新保存,这些斜杠也会累积,因此它最终可能看起来像'Monitor Size: 22\‘’。
在PHP中处理$_POST时,我可以删除所有反斜杠,但这也会删除用户可能合法输入的任何反斜杠。
有没有其他方法可以避免这种情况?
非常感谢你的想法!
发布于 2010-12-17 05:51:37
我敢打赌做这件事的不是jQuery,而是您正在使用的服务器启用了magic quotes。
因此,要么禁用魔术引号,要么在保存到数据库之前自己去掉斜杠
发布于 2010-12-17 05:50:30
请检查PHP的stripslashes()函数...
发布于 2010-12-17 05:49:49
我假设如果用户放入一个“合法的”反斜杠,它也会被转义,所以stripslashes()应该会做它的工作。
https://stackoverflow.com/questions/4465678
复制相似问题