我最近问过一个部分回答的问题,但我希望有人可以解释一下这个问题。它关于PHP和序列化函数。
所以我有一个包含12个字段的表单,都有名字。传统上我只使用POST方法,将它们发送到PHP页面,然后将它们提供给数据库。
今天我偶然发现了序列化方法,但在使用它之后,似乎它没有做任何常规POST语句会做的事情。例如,如果我想使用序列化,我会执行以下操作:
var formData = $('#contForm').serialize();
$.post('functs.php',formData,dispAdd);
然后打印我将使用的值
echo $_POST['value_name']
我看到的情况是,无论是否有序列化,我都会得到相同的结果。我在这里错过了什么吗?
答案 0 :(得分:4)
通过AJAX请求发送数据时使用.serialize()方法以标准URL编码方式创建文本字符串 符号。它在表示一组表单的jQuery对象上运行 元素。表单元素可以是几种类型。 Read more
.serialize()
。这与使用提交按钮提交表单相同。只有在使用AJAX时才会有所不同,它不会刷新页面。即使您在使用AJAX时使用提交按钮或.serialize()
提交表单,也会得到相同的结果。
.serializeArray()可以替代.serialize()
。
请记住如果您不使用.serialize()
,则必须手动创建键值对,如上面评论中提到的@Akam。
最后
何时使用序列化< - 使用AJAX发布数据时
常规POST< - 使用提交按钮发布数据时