AJAX请求已发送,但$ _POST不更新

时间:2019-04-03 17:56:47

标签: javascript php ajax post

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 :(得分:0)

在Ajax中,data属性为JSON格式。 您的数据属性将是这样

data: {risultato: ris}

答案 1 :(得分:0)

嗨,你可以这样:

您的php脚本:

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

在其中要执行操作的命令是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
})

希望有帮助

答案 2 :(得分:-2)

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