Ajax POST в PHP var и возврат

Я разрабатываю веб-приложение, в котором я хочу передать значение флажка в переменную PHP без отправки. Поэтому я использую Ajax для передачи значения.

Кодовая страница 1:

<div class = "sliderWrapper">
     input type = "checkbox" name = "val1" id = "val1" value = "Value 1">
 </div>
 <div class = "sliderWrapper">
     input type = "checkbox" name = "val2" id = "val2" value = "Value 2">
 </div>

 <p id = "test"></p>

<script>
 $("input[type=checkbox]").on("change", function () {
        var ids = [];
        $('input[type=checkbox]:checked').each(function () {
            ids.push($(this).val());
        });
        $.ajax({
            url: "page2.php",
            type: "POST",
            async: true,
            cache: false,
            data: ({value: ids, semester}),
            dataType: "text",
            success: function (data) {
                //alert(data)
                $("p#test").html(data);
            }
        });
    });
 </script>

Кодовая страница 2:

if (isset($_POST['value'])) {
    $values = $_POST['value'];

    foreach($values as $value){
        echo $value;
    }
}

Итак, я передаю значение обратно в HTML

тег, и я хочу снова использовать его на странице 1 в качестве переменной PHP. Это возможно?

Вы действительно не хотите использовать его как PHP-Var или хотите использовать возвращаемое значение из ajax и вставить его где-нибудь в свой HTML?

T K 04.10.2018 13:28

Нет необходимости отправлять обратно идентификаторы на страницу 1, поскольку у нее есть все идентификаторы в «var ids». Вы можете использовать идентификаторы в функции успеха

Vijay 04.10.2018 13:30
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
160
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Нет.

Посмотрите на порядок событий:

  1. Страница 1 PHP работает на сервере
  2. Сервер отправляет результат в браузер
  3. Браузер загружает страницу и запускает Ajax
  4. Браузер делает запрос Ajax
  5. Браузер получает ответ

Вы не можете использовать ответ как переменную PHP на странице 1, потому что:

  • Переменные PHP существуют на сервере, и теперь данные находятся в браузере.
  • Скрипт PHP завершился после шага 1, поэтому программа больше не работает, и некуда будет поместить переменную

Если вы хотите что-то сделать с данными на сервере, сделайте это на странице 2. (Вы можете поместить функцию в другой файл PHP и include на обеих страницах, если вы хотите разделить логику между ними).

Если вы хотите изменить то, что отображается в браузере в ответ на это:

  • Страница 2 должна возвращать информацию, необходимую для определения того, что следует показывать.
  • Напишите JavaScript, который считывает данные и вносит желаемые изменения в DOM.

Спасибо, ваш ответ имеет смысл. Я могу попробовать функцию и включить ее.

JDB 04.10.2018 13:32

Другие вопросы по теме