пустые значения '$ _POST' из AJAX POST - PullRequest
0 голосов
/ 06 января 2019

При попытке показать результаты моего $ _POST на стороне php я получаю "array (0) {}", когда я использую:

<?php
var_dump($_POST);
?>

Я попробовал самые простые решения, где я создал новую кнопку, которая выполняет новую функцию под названием "sendAJAX ()":

<head>
<script>    
function sendAJAX(){
       $.ajax({
           method: "POST",
           url: "includes/displayAJAX.php",
           data: { name: "John Doe", age: "19" }
       }).done(function( msg ) {
           alert(msg);
       });
window.top.location = "includes/displayAJAX.php";
}
</script>
</head>

<div class="container-login100-form-btn">
<button onclick="sendAJAX()">POST</button>
</div>

в файле php это просто:

<?php
print $_POST["name"];
?>

Я получаю предупреждение об успехе с ожидаемыми данными, но когда я перенаправляю на эту страницу php «Неопределенный индекс: имя» вместо «имя: Джон Доу, возраст: 19»

1 Ответ

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

Вы не можете просмотреть результаты $_POST непосредственно со страницы PHP.

Вы должны проверить результаты по мере их отправки обратно в вызывающую функцию ajax.

Хороший способ сделать это - использовать консоль браузера.

Ваш Ajax должен выглядеть так:

function sendAJAX(){
       $.ajax({
           method: "POST",
           url: "includes/displayAJAX.php",
           data: { 
             name: "John Doe",
              age: "19" 
            },
           dataType: 'json',
           cache: false,
           success: function(data){
             console.log(data); //Use your browser's console to see your data here.
           }

       });
    });

Ваш php должен выглядеть так:

<?php
echo json_encode($_POST);
?>

Если после этого вам нужно перенаправить на другую страницу, вы можете добавить соответствующий код в функцию успеха ajax.

Вот так:

success: function(data){
             window.top.location = "path/to/another/page.php";
          }

Надеюсь, это поможет.

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