9

我最近问了一个部分回答的问题,但我希望有人能更清楚地解释这个问题。它关于 PHP 和序列化函数。

所以我有一个包含 12 个字段的表单,所有字段都有名称。传统上我只会使用 POST 方法,将它们发送到 PHP 页面,然后将它们提供到数据库中。

今天我偶然发现了 serialize 方法,但是在使用它之后,它似乎没有做任何常规 POST 语句会做的事情。例如,如果我想使用序列化,我会执行以下操作:

var formData = $('#contForm').serialize();
$.post('functs.php',formData,dispAdd);

然后打印一个我会使用的值

echo $_POST['value_name']

我看到发生的是,无论有没有序列化,我都会得到相同的结果。我在这里错过了什么吗?

4

1 回答 1

4

.serialize() 方法以标准 URL 编码表示法创建文本字符串。它对表示一组表单元素的 jQuery 对象进行操作。表单元素可以有多种类型。阅读更多

.serialize()当您通过 AJAX 请求发送数据时使用。这与使用提交按钮提交表单相同。仅当您使用 AJAX 时会有所不同,它不会刷新页面。这就是为什么即使您使用提交按钮或.serialize()使用 AJAX 提交表单,您也会得到相同的结果。

.serializeArray()将是 .serializeArray() 的替代品.serialize()

请记住,如果您不使用.serialize(),则必须像上面评论中提到的@Akam 那样手动创建键值对。

最后

何时使用序列化<--何时使用 AJAX 发布数据

当常规 POST <-- 当您使用提交按钮发布数据时

于 2013-03-12T05:27:21.097 回答