Как вывести данные $_POST в php
Отправляю аяксом POST формы
$('#_formOrder').on('submit', function(e){
e.preventDefault();
let $form = $(this);
let $order = $form.serialize()
$.ajax({
method: 'POST',
url: "/assets/ajax.php",
dataType: "json",
data: {
"action": "order",
"order" : $order
},
success: function(data) {
},
error: function(data) { // Данные не отправлены
}
});
});
уходят вот так данные
как вывести данные order?
пробовал так,
$product = $_POST['order']['username'];
print_r($product);
но не работает
Ответы (2 шт):
Автор решения: Rikky
→ Ссылка
Вы отправляете два параметра, action и order. Чтобы увидеть, что получает сервер, напишем функцию вывода этих полученных данных:
<?php
$action = $_POST['order'];
$order = $_POST['order'];
echo "Action: ".$action."<br>";
echo "Order: ".$order."<br>";
?>
Аргументируйте минус? Вопрос был в том, как вывести данные переданные методом POST, ответ я дал. Вопрос заключался не в том, как правильно передавать данные, а в том как их вывести..
Автор решения: user658929
→ Ссылка
$('#_formOrder').on('submit', function(e) {
e.preventDefault();
let $form = $(this);
// Создание массива из элементов формы
let orderArray = $form.serializeArray();
// Преобразование массива в объект
let orderData = {};
$.each(orderArray, function() {
orderData[this.name] = this.value;
});
$.ajax({
method: 'POST',
url: "/assets/ajax.php",
dataType: "json",
data: {
"action": "order",
"order": orderData // Используем объект вместо сериализованной строки
},
success: function(data) {
// Обработка успешного ответа
},
error: function(data) { // Данные не отправлены
// Обработка ошибки
}
});
});
Зачем парится понапрасну...
