我有一个使用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
将数组推送到序列化的表单数据后,它会正确地显示额外的数组。然而,当我试图
print_r($_POST)
在我的PHP表单中,无法访问附加数组:
Array ( [name] => Lorem [number] => Ipsum [dynamic-array] => )
这个
dynamic-array
没有与其关联的数组。
正确的方法是什么?