Почему моя переменная javascript становится массивом в PHP? - PullRequest
0 голосов
/ 30 ноября 2018

Я использовал ajax для успешной передачи моей переменной javascript " speechResult " в файл PHP " readJson.php " с небольшой ошибкой !

Почему моя переменная javascript становится массивом в PHP ?!

Давайте сначала посмотрим на мой javascript:

var speechResult= "reza"; 

$.ajax({
    url:"readJson.php",
    method: "post",
    data: speechResult,
    success: function(res) {
             console.log(res)
    }
  });

, затем мой readJson.php код здесь:

<?php
    print($_POST);
?>

и, наконец, вот мой журнал консоли:

Array

, если я воспользуюсь этим, я получу Резаснова ...

<?php
    print_r($_POST);
?>

вот мой журнал консоли:

Array ([reza] =>)

1 Ответ

0 голосов
/ 30 ноября 2018

Получая доступ к $ _POST, вы запрашиваете представление пары ключ-значение для данных, отправленных на сервер.И поскольку вы не отправляли пары ключ-значение, это не имеет никакого смысла.

Если вам нужны необработанные данные поста, вместо этого используйте file_get_contents("php://input");:

<?php
    $data = file_get_contents("php://input");
    print($data);

Альтернативой может быть отправка пар ключ-значение из JavaScript:

data: {'speechResult': speechResult},

Теперь у вас будут ваши данные в $_POST['speechResult']

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