Запрос AJAX отправлен, но $ _POST не обновляется - PullRequest
0 голосов
/ 03 апреля 2019

AJAX-запрос проходит правильно, я проверил с помощью инструментов разработчика chrome, на странице quiz.php есть запрос, но когда я проверяю $ _POST ['risultato'], он выглядит, что не существует.Однако я заметил, что в инструментах разработчика Chrome есть 2 элемента quiz.php (один xhr другой документ)

Я пытался изменить код несколькими способами, но кажется, что он не работает

<?php
    if(isset($_POST['risultato'])){
        print($_POST['risultato']);
    }
?>

<script>    
    function inviaRisultati(ris){
            $.ajax({
                url: "quiz.php",
                type: "POST",
                cache: false,
                data: {risultato: ris},
                success: function(){
                    alert("INVIATI");
                }
            })
    }

Ожидается, что программа вернет результат на странице quiz.php (той же самой странице, где запускается запрос ajax), и она должна напечатать ее где-нибудь

РЕДАКТИРОВАТЬ: я исправил это

<?php
    file_get_contents('php://input');
    if(isset($_POST['risultato'])){
        print($_POST['risultato']);
    }
?>

function inviaRisultati(param) {
   return $.ajax({
         url:"quiz.php",
         method:"POST",
         data:{action: "SLC", risultato :param},
         dataType:"text"
    });

}

inviaRisultati(1).done(function(response){``
    document.open(); 
    document.write(response);
});

Ответы [ 3 ]

0 голосов
/ 03 апреля 2019

Привет, ты можешь сделать это так:

ваш php скрипт:

     if (isset($_POST["action"])) {
    $action = $_POST["action"];
    switch ($action) {
        case 'SLC':
        if (isset($_POST["risultato"])) {
            $response = $_POST["risultato"];
            echo $response;
        }
    }
    break;
}

Где action - это команда, которую вы хотите выполнить SLC, UPD, DEL и т. Д., А risultato - это параметр

тогда в вашем ajax:

 var param = $('#yourinputid').val();
function getInfo(param) {
   return $.ajax({
         url:"quiz.php",
         method:"POST",
         data:{action: "SLC", risultato :param},
         dataType:"text"
});

}

Назовите это так:

getInfo(param).done(function(response){
alert(response);
//do something with your response here
})

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

0 голосов
/ 03 апреля 2019

HTML-код

<script>
        jQuery(document).ready(function(){
            ris = 'abcd';
            jQuery.ajax({
                url: "quiz.php",
                type: "POST",
                cache: false,
                data: {risultato: ris},
                success: function(){

                }
            })
        });
    </script>

PHP-код

<?php

file_get_contents('php://input');

print($_POST['risultato']);

Консольный вывод

enter image description here

0 голосов
/ 03 апреля 2019

В Ajax атрибут данных находится в формате JSON. ваш атрибут данных будет выглядеть так

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