AJAX - PHP, как вернуть переменную в исходный скрипт AJAX и изменить входное значение - PullRequest
0 голосов
/ 21 января 2019

Я защищаю свои формы с помощью кода с кодом, чтобы боты не могли отправлять и загружать формы.Эта форма работает с AJAX и не обновляет страницу, как обычно.У меня все настроено сейчас и работает.но .. Так что это форма, о которой я говорю, чтобы помочь понять.

enter image description here

Когда вы нажимаете запросить новый пароль, мне нужен код, чтобыизменить в поле ввода.Я изменяю код после запроса пароля, подобного этому, в newpass.php

$_SESSION['capcode3'] = $capcode3;

Это мой код javascript:

<script>
    $("#formoid").submit(function(event) {
      event.preventDefault();
      var form_data = $(this).serialize(); //Encode form elements for submission

      $.ajax({
            type: "POST",
            url : "data/newpass.php/",
            data : form_data 
        });
      document.getElementById("captcha").value = "<?php echo $_SESSION['capcode3']; ?>";
    });
</script>

Таким образом, с помощью document.getElementById это изменит вводзначение, но вместо установки нового значения, оно устанавливает старое значение.Поэтому, если код ABC123 и новый код DEF456, он не изменится на DEF456

Есть ли лучший способ отправить новый код обратно в поле ввода?

Примечание. Я проверилесли $ _SESSION ['capcode3'] изменит свое значение с положительным результатом.

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Вы не указали обработчик успеха в вашем ajax.Ajax обрабатывается асинхронно, поэтому требуется обратный вызов, куда данные будут переданы при успешной обработке запроса

  $.ajax({
        type: "POST",
        url : "data/newpass.php/",
        success: function(data) {
             //change UI here
             document.getElementById("captcha").value = data;
        },
    });
0 голосов
/ 21 января 2019

Пожалуйста, добавьте код в случае успеха ajax, потому что может быть значение сеанса будет изменено при успехе ajax.

  $.ajax({
        type: "POST",
        url : "data/newpass.php/",
        data : form_data,
        success :function(data){
           document.getElementById("captcha").value = data;
        }
    });

Пожалуйста, попробуйте с этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...