何时使用序列化vs常规POST

时间:2013-03-12 05:18:43

标签: php jquery

我最近问过一个部分回答的问题,但我希望有人可以解释一下这个问题。它关于PHP和序列化函数。

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

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

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

然后打印我将使用的值

echo $_POST['value_name']

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

1 个答案:

答案 0 :(得分:4)

  

.serialize()方法以标准URL编码方式创建文本字符串   符号。它在表示一组表单的jQuery对象上运行   元素。表单元素可以是几种类型。 Read more

通过AJAX请求发送数据时使用

.serialize()。这与使用提交按钮提交表单相同。只有在使用AJAX时才会有所不同,它不会刷新页面。即使您在使用AJAX时使用提交按钮或.serialize()提交表单,也会得到相同的结果。

.serializeArray()可以替代.serialize()

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

最后

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

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