У меня есть следующий вызов ajax для отправки формы Yii2:
var form = $("#purchase-order-form");
$.ajax({
url: form.attr('action'),
data: form.serialize(),
type: 'post',
success: function(data) {
$('#modal').modal('hide');
callNotify(data);
}
});
Это работает нормально, однако у меня есть дополнительные данные, которые мне нужно передать вместе с данными формы. Это строка с кодировкой json, которую я создал, вызывая JSON.stringify
в созданном мной массиве.
Я попытался использовать .serializeArray()
вместо .serialize()
и вставить дополнительный контент в форму, например:
var form = $("#purchase-order-form");
var table-data = tableToJson('.products-table');
var data = form.serializeArray();
data.push({table: table});
$.ajax({
url: form.attr('action'),
data: data,
type: 'post',
success: function(data) {
$('#modal').modal('hide');
callNotify(data);
}
});
Когда я вижу консоль, содержимое находится в конце массива, но в моем контроллере оно передается как неопределенное.
Я думаю, что yii обрабатывает данные, не принадлежащие модели, прежде чем разрешить мне их загрузить.
Как я могу передавать данные вместе с формой, в то же время имея возможность загружать модель, используя $model->load()
?