Я отправляю сообщение Ajax моему бэкэнду Laravel.Я сериализовал форму и отправил ее, но я не уверен, как использовать правильный формат в моем бэкэнде (php):
Мой Ajax:
submitPdf: function () {
$('form').submit(function (e) {
if($("#pdfPreviewCheckbox").is(':checked')) {
e.preventDefault();
} else {
return true;
}
var $form = $(this);
var $inputs = $form.find("input, select, button, textarea");
var serializedData = $form.serialize();
$inputs.prop("disabled", true);
$.ajax({
type: "post",
url: "/test/public/labelspecial/new/input",
data: {
"product": serializedData
},
success: function () {
console.log("success");
},
error: function (e) {
console.log("an error occured " + e);
}
});
});
}
, если я var_dump(Input::all());
Я получаю вывод, подобный этому:
array(5) {
["product"]=>
array(3) {
[0]=>
array(11) {
["label"]=>
string(3) "asd"
["model"]=>
string(0) ""
}
[1]=>
array(11) {
["label"]=>
string(0) ""
["model"]=>
string(0) ""
}
[2]=>
array(11) {
["label"]=>
string(0) ""
["model"]=>
string(0) ""
}
}
["printPDF"]=>
string(6) "Senden"
["variant"]=>
string(1) "2"
["count"]=>
string(1) "3"
["_token"]=>
string(40) "T7aAxjnfAyAcGs5PAW75RBbEFjfYpt4eCgO7iT1j"
}
И если я отправляю сериализованные данные через Ajax, я получаю этот вывод:
array(1) {
["product"]=>
string(1135) "product%5B0%5D%5Blabel%5D=&product%5B0%5D%5Bmodel%5D=&product%5B0%5D%5B...
}
Выход должен быть таким же, как я могу выполнитьчто?
Править Я пытался использовать $form.serializedArray()
вместо $form.serialize()
, я получаю лучший результат, но он пока не верен.Если я dd
в php, я получаю это сейчас:
array(1) {
["product"]=>
string(1626) "[{"name":"product[0][label]","value":""}]"
}