Почему я всегда получаю NULL в ответе php, когда я пытаюсь отправить некоторую переменную, используя ajax - PullRequest
1 голос
/ 07 июля 2019

Я хочу передать некоторые данные json из javascript с помощью ajax в php файл

Я пробовал много решений из Интернета, но ни одно из них не работает.

Это мой javascriptfile (a.html):

    <html>
    <head></head>
    <body>
      <script 
      src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js" 
      </script>
      <script>
        var dataPwm = {dataHeat : 1};
        console.log(dataPwm)

        $.ajax({
          type: "POST",
          url: "b.php",
          data: {dataHeat : 1},
          //cache: false,
          success: function(response){
            console.log(response);
          }
        });
    </script>
    </body>
    </html>

, и это мой php-файл в том же каталоге (b.php):

    <?php
        $json_string = $_POST["dataHeat"];
        var_dump(json_decode($json_string));
    ?>

я ожидаю вывод 1, но результатНЕДЕЙСТВИТЕЛЕН

Ответы [ 2 ]

0 голосов
/ 07 июля 2019

здесь может быть несколько проблем

  1. Если в консоли браузера есть ошибка, то jquery не включает

  2. Вам не нужно использовать json_decode

  3. , если вы хотите, чтобы результат пришел сюда

    console.log (response);

нужно сделать

$dataHeat= $_POST["dataHeat"];
echo $dataHeat;
0 голосов
/ 07 июля 2019

Вы не включили Jquery! используйте это в голове, и это будет работать:

<script
      src="https://code.jquery.com/jquery-3.4.1.min.js"
      integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
      crossorigin="anonymous">
</script>

вы используете jquery для ajax, поэтому вы должны сначала загрузить его, а затем использовать его. это так просто. кроме этого ваш код является полностью правильным. и вы должны ожидать int (1) в консоли.

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