Данные публикации AJAX не получены в PHP ⇐ Jquery
-
Anonymous
Данные публикации AJAX не получены в PHP
Недавно я начал изучать PHP с самых основ. Прочитав несколько руководств, я пытаюсь чему-то научиться, и здесь я столкнулся с проблемой и после посещения разных URL-адресов с похожими проблемами не смог решить свою.
У меня есть страница, на которой пользователь вводит данные в форму, и эти данные добавляются в сетку (таблицу) с помощью кнопки «Добавить». При нажатии кнопки «Сохранить» данные таблицы отправляются в PHP с помощью Ajax. Наряду с данными этой таблицы в одной форме есть 3 текстовых поля, данные которых не добавляются в эту таблицу, и данные этих текстовых полей также отправляются в PHP с помощью Ajax Call. Вот мой код кнопки «Сохранить».
$("#save").on("click", function (e) { е.preventDefault(); отладчик if (!iQuantity || !iDiscount) { // Это проверка валидации. $("#message").fadeIn(1000).html(`Пожалуйста, заполните все поля`); $("#message").fadeOut(3000); } if ($("#amountPayable").val() === "" || $("#amountPayable").val() == 0 || $("#amountPaid").val() === "" || $("#amountPaid").val() == 0 || $("#discountGiven").val() === "" ) { $("#message").fadeIn(1000).html(`Пожалуйста, заполните все поля`); $("#message").fadeOut(3000); } еще { вар tableData = []; $('#addTable tbody tr').each(function () { отладчик вар rowData = { itemId: $(this).find('td:eq(0)').text(), // первый столбец в строке — стажер (по индексу 0) saleId: $(this).find('td:eq(1)').text(), // второй столбец в строке — заголовок qty: $(this).find('td:eq(3)').text(), // посещается 4-й столбец в строке sum: $(this).find('td:eq(4)').text(), // 5-й столбец в строке — тренер }; tableData.push(rowData); }); var formFields = { // Принимает данные текстовых полей sumPayable: $("#amountPayable").val(), sumPaid: $("#amountPaid").val(), DiscountGiven: $("#discountGiven").val(), }; // Здесь я создаю объект из обоих вышеуказанных объектов. вар dataToSend = { td: JSON.stringify(tableData), // данные сетки ff: JSON.stringify(formFields), // данные текстовых полей }; console.log("ОК"); $("#message").html(""); отладчик $.ajax({ URL: "../add-pages/add-orders.php", тип: "ПОСТ", данные: данныеToSend, данные процесса: ложь, Тип контента: ложь, успех: функция (полученные данные) { отладчик вар дт = полученные данные; $('#message').fadeIn(1000).html(receivedData); $("#message").fadeOut(3000); // --------------------------------------------- Для прояснения Поля формы, --------------------------------------------- $(':input', '#addOrdersData') .not(':button, :submit, :reset, :hidden') .val('') .prop('проверено', ложь) .prop('выбрано', ложь); $("#update").attr("отключено", true); } }); } });
А вот мой PHP-код, из которого я получаю код:
Ошибка, которую я получил в PHP:
Внимание: неопределенный ключ массива «td» в C:\xampp\htdocs\superStore\add-pages\add-orders.php в строке 4
Пожалуйста, подскажите мне, где происходит ошибка.
Большое спасибо, SOF.
Недавно я начал изучать PHP с самых основ. Прочитав несколько руководств, я пытаюсь чему-то научиться, и здесь я столкнулся с проблемой и после посещения разных URL-адресов с похожими проблемами не смог решить свою.
У меня есть страница, на которой пользователь вводит данные в форму, и эти данные добавляются в сетку (таблицу) с помощью кнопки «Добавить». При нажатии кнопки «Сохранить» данные таблицы отправляются в PHP с помощью Ajax. Наряду с данными этой таблицы в одной форме есть 3 текстовых поля, данные которых не добавляются в эту таблицу, и данные этих текстовых полей также отправляются в PHP с помощью Ajax Call. Вот мой код кнопки «Сохранить».
$("#save").on("click", function (e) { е.preventDefault(); отладчик if (!iQuantity || !iDiscount) { // Это проверка валидации. $("#message").fadeIn(1000).html(`Пожалуйста, заполните все поля`); $("#message").fadeOut(3000); } if ($("#amountPayable").val() === "" || $("#amountPayable").val() == 0 || $("#amountPaid").val() === "" || $("#amountPaid").val() == 0 || $("#discountGiven").val() === "" ) { $("#message").fadeIn(1000).html(`Пожалуйста, заполните все поля`); $("#message").fadeOut(3000); } еще { вар tableData = []; $('#addTable tbody tr').each(function () { отладчик вар rowData = { itemId: $(this).find('td:eq(0)').text(), // первый столбец в строке — стажер (по индексу 0) saleId: $(this).find('td:eq(1)').text(), // второй столбец в строке — заголовок qty: $(this).find('td:eq(3)').text(), // посещается 4-й столбец в строке sum: $(this).find('td:eq(4)').text(), // 5-й столбец в строке — тренер }; tableData.push(rowData); }); var formFields = { // Принимает данные текстовых полей sumPayable: $("#amountPayable").val(), sumPaid: $("#amountPaid").val(), DiscountGiven: $("#discountGiven").val(), }; // Здесь я создаю объект из обоих вышеуказанных объектов. вар dataToSend = { td: JSON.stringify(tableData), // данные сетки ff: JSON.stringify(formFields), // данные текстовых полей }; console.log("ОК"); $("#message").html(""); отладчик $.ajax({ URL: "../add-pages/add-orders.php", тип: "ПОСТ", данные: данныеToSend, данные процесса: ложь, Тип контента: ложь, успех: функция (полученные данные) { отладчик вар дт = полученные данные; $('#message').fadeIn(1000).html(receivedData); $("#message").fadeOut(3000); // --------------------------------------------- Для прояснения Поля формы, --------------------------------------------- $(':input', '#addOrdersData') .not(':button, :submit, :reset, :hidden') .val('') .prop('проверено', ложь) .prop('выбрано', ложь); $("#update").attr("отключено", true); } }); } });
А вот мой PHP-код, из которого я получаю код:
Ошибка, которую я получил в PHP:
Внимание: неопределенный ключ массива «td» в C:\xampp\htdocs\superStore\add-pages\add-orders.php в строке 4
Пожалуйста, подскажите мне, где происходит ошибка.
Большое спасибо, SOF.
Мобильная версия