为什么PHP没有收到AJAX数据?

时间:2016-06-06 13:26:16

标签: php jquery ajax

我有以下非常简单的PHP测试器:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>

<button id="button">send request</button>

<script>
    $("#button").click(function(){
        $.ajax({
            type: "POST",
            url: "ajaxTest.php",
            data: {userresponse: "hi"},
            success: function(data){
                alert(data)
                analyse()
            }
        })
    })

    var analyse = function () {
        <?php
            if(isset($_POST["userresponse"])){
                $variable = $_POST["userresponse"];
                switch($variable){
                    case "hi":
                        echo 'alert("' . $variable . '")';
                        break;
                    default:
                        echo 'alert("LOGIC")';
                }
            }
        ?>
    }
</script>

应该发生的事情是,当我点击按钮时,它会将数据userresponse: "hi"发送到服务器,然后PHP接收它并提醒值(即&#34; hi&#34 ;)

然而,尽管文件路径是正确的,但是在XHR中AJAX发送是正常的,PHP不接收数据的值,而alert(data)返回整个HTML文档。

发生了什么,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

删除analyze()并将您的PHP代码放在名为ajaxTest.php的外部文件中,您的代码工作完美只需删除您的PHP代码fron分析和请求外部这是不好的做法同时具有相同的文件(标题问题) 。

证明: enter image description here