Доступ к опубликованным данным AJAX, показывающим пустые данные - PullRequest
0 голосов
/ 08 марта 2019

У меня есть следующий код, который запускается после события onclick в моем файле index.php. Однако, когда я пытаюсь получить доступ к данным, размещенным в page2.php, я получаю пустой массив.

    $.ajax({
    url: "page2.php",
    type: "post",
    data: 6 ,
    success: function (data) {
     alert(data);

    },
    error: function() {
              alert('failure');;
    }


});

В моем php-коде у меня есть следующее:

$x = $_POST['data'];
echo = $x;

Даже когда я распечатываю, $ _POST дает мне пустой массив

1 Ответ

3 голосов
/ 08 марта 2019

PHP заполнит $_POST данными, закодированными в формате URL или Multipart.Вы не отправляете ни.

Вы должны кодировать свои данные вместо отправки простой текстовой строки.

В вашем JS:

data: { myNumber: 6 },

(jQuery преобразует объект изданные в URL-адреса закодированы по умолчанию)

В вашем PHP:

$x = $_POST['myNumber'];
echo $x;

Если вы действительно хотите отправить текстовую строку, то вы должны сказать об этом в запросе:

data: 6 ,
contentType: "text/plain"

, а затем вам необходимо обработать тело запроса вручную:

$x = file_get_contents('php://input');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...