PHP页面不会使用接受Jquery POST和GET变量

时间:2015-01-31 11:01:48

标签: php jquery ajax post get

我的php上的代码:

<html>
    <script src="jquery2_3.js"></script>

<script>

function ajax(){
    $.ajax({
        type: 'POST',
        url: 'mypage.php',
        data: {test: 'asdf'},
        success: function(){
            alert('done');
        }
    });
}

</script>
</html>

<?php

foreach ($_GET as $key => $value) {
        echo "<tr>";
        echo "<td>";
        echo $key;
        echo "</td>";
        echo "<td>";
        echo $value;
        echo "</td>";
        echo "</tr>";
    }

?>

当我使用PostMan(Chrome应用REST客户端)时,我可以提交GET变量并在页面上回显预期结果。

当我在Chrome中打开此页面并通过js控制台运行ajax方法时,我收到了警告消息,但没有回复来自php脚本或页面上的任何更改。

我尝试过使用jquery get()和post()方法,这两种方法都表示成功,但没有显示结果。但是当我通过Postman发送请求时,php代码运行正常。

Jquery没有错误,没有任何想法? 感谢

2 个答案:

答案 0 :(得分:0)

使用data: $('#Contact').serialize(),

$_GET[]替换为$_REQUEST[] ..它会起作用

答案 1 :(得分:0)

好的,我发布这个后就意识到了我的错误。

问题在于我混淆了服务器端和客户端进程的工作方式。 当运行ajax方法时,可以对客户端进行更改,但php服务器不能。

解决方案是捕获成功回调中的回显数据,并使用jquery附加:

$.ajax({
        type: 'POST',
        url: 'mypage.php',
        data: {test : '32452345'},
        success: function(data){
            $('*').html(data);
        }
    });

<?php

echo $_POST['test'];

?>