У меня есть форма, которую я отправляю, используя 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
не имеет связанного с ним массива.
Как правильно это сделать?