【发布时间】:2019-01-31 20:05:30
【问题描述】:
我有一个使用 AJAX 提交的表单。为了从表单获取数据到 PHP 脚本,我正在序列化数据。除了该数据之外,我还想包含另一个来自表单外部的动态数据的数组。这是我所拥有的一个示例:
$(function() {
var $form = $('form'),
formData = $form.serializeArray(),
arr = ["Saab", "Volvo", "BMW"]; /* Just an example array */
formData.push({name: 'dynamic-array', arr});
console.log(formData);
/*
$.ajax({
type: 'POST',
url: 'http://example.com',
data: formData
}).done(function() {
console.log('Submitted');
});
*/
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form>
<input name="name" type="text" value="Lorem" />
<input name="number" type="text" value="Ipsum" />
</form>
因此,当我在将数组推送到序列化表单数据后控制台日志formData 时,它会正确显示该附加数组。但是,当我尝试在我的 PHP 表单中 print_r($_POST) 时,无法访问附加数组:
Array ( [name] => Lorem [number] => Ipsum [dynamic-array] => )
dynamic-array 没有与之关联的数组。
这样做的正确方法是什么?
【问题讨论】:
标签: php arrays serialization