Я не знаю, как или что поместить в мой PHP-файл для получения данных массива, отправленных по запросу AJAX. Что мне нужно в моем файле PHP, чтобы иметь возможность изолировать элементы массива один за другим? (количество элементов в массиве будет динамическим)
Я получаю проверенные значения флажков и помещаю эти значения в массив. Я буду использовать этот массив, чтобы поместить их в строку. Я попробовал следующее в моем PHP-файле и не получил никаких результатов ... либо выдает ошибку, либо страница отображает / ничего не отвечает.
foreach ($_POST['$inputBoxesValues'] as $value) {
echo $value;
}
$amount = count($_POST);
for ($x = 0; $x <= $amount; $x++) {
echo $_POST[$x];
}
echo implode(",", $_POST);
Я сейчас попробовал это .. и php файл ничего не ответил
новая функция AJAX
function formProcess() {
var inputBoxesValues = $('input[type="checkbox"]:checked').map( function() {
return $(this).val();
}).get();
var jsonString = JSON.stringify(inputBoxesValues);
$.ajax({
url: 'itemprocessor.php',
data: {data : jsonString},
dataType: 'json',
method: 'POST',
success: function(result) {
window.location.href = "compare.php?" + result;
}
});
console.log(jsonString);
}
PHP-файл ...
$data = json_decode(stripslashes($_POST['data']));
foreach($data as $d){
echo $d;
}
Я знаю, как использовать, создавать и редактировать строки в PHP, но я просто не знаю, как использовать данные массива, отправленные в файл.
Эта функция вызывается при нажатии кнопки «Продолжить» (ниже приведен исходный код)
function formProcess() {
var $inputBoxesValues = $('input[type="checkbox"]:checked').map( function() {
return $(this).val();
}).get(); //makes array
$.ajax({
url: 'itemprocessor.php',
data: $inputBoxesValues,
dataType: 'json',
method: 'POST',
success: function(result) {
window.location.href = "compare.php?" + result;
}
});
console.log($inputBoxesValues);
}
Ожидаемый результат / метод для результата
- Пользователь выбирает поля (у которых есть значения) и продолжает нажимать,
- AJAX отправляет данные, содержащие массив значений выбранных флажков,
- PHP-файл отправляет обратно строку, что-то вроде item1,item2,item3
- AJAX-скрипт затем отправляет пользователя на страницу «compare.php» со строкой ответа
- Страница «Сравнить» использует данные GET в URL
В настоящее время я только до 2-го шага, как мне добиться чтения данных AJAX?
Обновление:
Теперь я пробовал другие вещи (перечисленные выше), но я заметил одну вещь: в моем php-коде, даже если я пытаюсь сделать echo "Foo Bar";
, код PHP по-прежнему ничего не возвращает. Но когда я просто не набираю код PHP в файле и просто набираю "Foo Bar
", в обычном тексте, нет форматирования html или чего-либо еще. файл отвечает "Foo Bar
"
Отметив это, я сейчас тоже попытался поставить echo '<span>'. $d .'<span>';
. После этого файл возвращает "'. $d .''; } ?>
". Что, черт возьми, происходит?