Я знаю, что этот вопрос задавался несколько раз на этом форуме, но я думаю, что чего-то не хватает. Или, может быть, это потому, что я не знаю JSON/AJAX, что хорошо.Использование массива Javascript в PHP
Вот что.
Я получил код javascript/JQuery на странице, скажем, на index.php (еще не в отдельном JS-файле), который позволяет помещать любое число в массив от 1 до 10. Если он уже в нем, он будет удаляться при повторном нажатии.
Теперь я хочу передать этот массив JS на PHP, поэтому я могу создавать таблицы с ним.
Вот что я сделал.
$(".Go").click(function() {
var enc = JSON.stringify(tableChoice);
$.ajax({
method: 'POST',
url: 'calc.php',
data: {
elements: enc
},
success: function(data) {
console.log(enc);
}
});
});
И в моем calc.php я получил это, чтобы получить значения для PHP.
<?php
$data = json_decode($_POST['elements'],true);
echo $data;
?>
Сейчас здесь идет нуб вопрос:
Если я нажимаю кнопку мой (.go), что на самом деле происходит?
Поскольку console.log позволяет мне видеть правильные значения, но как мне получить к нему доступ? Страница (index.php) автоматически не переходит к calc.php.
Когда я использую <form>
тег будет принимать меня там, но он показывает эту ошибку:
Undefined индекс: элементы
Я уверен, что я смотрю на это неправильный путь, интерпретируя это неправильно. Может кто-то, пожалуйста, помогите мне понять, что я должен делать, чтобы продолжить работу с массивом JS в PHP.
Вы уверены, что вы не хотите 'console.log (данные)'? –
Ajax, или асинхронный JavaScript и XML - это концепция, предназначенная для интерактивных веб-сайтов, на которых данные могут быть отправлены и собраны с сервера без необходимости обновления веб-сайта. Ваш браузер не должен перейти к 'calc.php'. Вместо этого «calc.php» возвращает данные обратно в ваш файл 'index.php'. '$ data', однако, является массивом здесь. Таким образом, вы не получите возвращаемое фактическое значение. Попробуйте 'var_dump ($ data); вместо этого посмотрим, что я имею в виду. – icecub
Думаю, вам нужно прочитать учебник о том, как работает AJAX. Весь смысл AJAX заключается в том, что он не перезагружает страницу. Он просто отправляет ответ, и код Javascript решает, что с ним делать. Если вы хотите отобразить результат на странице, вы используете методы DOM или jQuery, которые делают это, например '$ (" # id "). Text (data)' – Barmar