PHP не получают данные от $. ajax POST - PullRequest
0 голосов
/ 04 мая 2020

Я не уверен, где мой код идет не так, но я пытаюсь передать переменную JS в PHP, и она работает на стороне JS (правильно запускает сообщение об успехе и другие журналы консоли ), но не на стороне PHP. Я проверил вкладку сети, и код состояния отображает 200 OK, и в данных формы он показывает правильные данные, но он не печатает переменную в PHP

здесь JS:

<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
<script>
    var email = "testingmore@gmail.com";
    var settings = {
        "method": "POST",
        "url": "/",
        "data": {
            "email": email,
            "emailType": "Html",
            "status": "Subscribed"
        },
        success: function(data) {
            console.log("successfully");
        }
    };

    console.log(settings);

    $.ajax(settings);
</script>

и php:

<?php
    $email = isset($_POST['email']);
    if( $email ) {
        print_r($_POST['email']);
    } else {
        echo 'nada<br>';
    }
?>

Таким образом, print_r никогда не срабатывает, и когда я пытаюсь распечатать $_POST['email'] сам по себе, он ничего не печатает.

1 Ответ

0 голосов
/ 04 мая 2020

Вы делаете HTTP-запрос с помощью JavaScript.

Ответ на этот запрос будет доступен для JavaScript.

Он находится в переменной data функция успеха, которую вы игнорируете.

Вам нужно что-то сделать с этой переменной.

В качестве альтернативы вы можете использовать обычную отправку формы вместо Ajax, и в этом случае ответ на запрос будет отображаться как новая страница.

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