Как показать данные, отправленные с AJAX?

Я новичок в PHP и AJAX. Любой совет приветствуется.
Моя конечная цель — сохранить массив JavaScript в базе данных MySQL по нажатию кнопки, но сначала я проверяю, могу ли я отправить массив JS в сценарий PHP. Мне нужна помощь, чтобы выяснить, как отобразить массив, отправленный с AJAX.

Мой HTML в submit-array.html

<button  onclick="submit()">Submit Array</button>
<p id="demo"></p>

Мой JS в submit-array.html

function submit() {
var nameString = JSON.stringify(nameArray);
$.ajax({
url: "submit.php",
type: 'post',
data: nameString,
success: function() {
document.getElementById("demo").innerHTML = "Submitted Successfully";
},
error: function () {
document.getElementById("demo").innerHTML = "Error";
}
}); // end ajax call
}

submit.php

if(isset($_POST['nameString'])) {
$nameArray = json_decode($_POST[nameString]);
echo $nameArray;
}
else {
echo "nameString not received";
}

Когда я запускаю свой код и нажимаю кнопку «Отправить», на странице HTML отображается «Успешно отправлено», а на странице php «nameString not receive».

Почему $ nameArray не отображается после отправки nameString в PHP?

1

Решение

Вы не дали свой data имя, так что PHP ничего не помещает в $_POST,

У тебя должно быть:

 data: {nameString: JSON.stringify(nameArray)}
^^^^^^^^^^--- $_POST key
^^^^etc... $_POST value
0

Другие решения

использование инструменты Google Chrome Deleoper (Ctrl-Shift-I) Вкладка «Сеть» или аналогичная опция с поджигатель в firefox.
В вышеупомянутых инструментах вы можете видеть каждый сервер и соответствующий ответ. Проверьте их, и вы найдете свои данные AJAX.

0

По вопросам рекламы [email protected]