1

所以我有这个表单,它是通过 AJAX 提交的,表单数据是序列化的。所以在后端,当我通过 PHP 接收这些数据时,我只是在数据上使用 parse_str 并再次将其序列化以保存到数据库中。

所以我的问题是,如何清理通过序列化的 JS AJAX 传入的数据?我是否必须将它分开并通过 mysql_real_escape_string 运行每个值,还是有更简单的方法?

感谢您的关注。

4

1 回答 1

0

永远不要操作序列化的数据:长度的任何变化都会破坏它并使其无法反序列化。

如果您使用的是传统形式,您会这样做:

  1. 在客户端,使用隐藏的输入字段发送字符串化 JSONJSON.stringify()
  2. json_decode()在服务器端,你会得到一个数组,你可以像任何其他表单数据一样进行清理。
  3. serialize()清理过的数组并保存到数据库

如果您使用 JQuery AJAX 并发送 POST 请求,则第 1-2 阶段是多余的,因为您可以按原样将 JSON 对象或数组传递给数据,它将自动转换为 PHP 对象/数组。

于 2013-01-20T07:21:44.217 回答