Javascript ajax调用成功,但在php中没有值

Javascript ajax调用成功,但在php中没有值,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,ajax成功函数警报数据,但在php端没有数据,GET数组为空 <script type="text/javascript"> var array={ name:"amr", age:22 } array =JSON.stringify(array); $.ajax({ url :"new.php", type : "GET", data : {action:array}, success: function(respons

ajax成功函数警报数据,但在php端没有数据,GET数组为空

<script type="text/javascript">
    var  array={
    name:"amr",
    age:22
}
array =JSON.stringify(array);
$.ajax({
    url :"new.php",
    type : "GET",
    data :  {action:array},
    success: function(response){
        alert(response);
    },

});
</script>



<?php 
$var =json_encode($_GET['action']);
echo $var;
?>

变量数组={
名称:“amr”,
年龄:22
}
array=JSON.stringify(数组);
$.ajax({
url:“new.php”,
键入:“获取”,
数据:{action:array},
成功:功能(响应){
警报(响应);
},
});

PHP代码在服务器上执行,然后PHP的输出被发送到客户端,客户端执行JavaScript,而不是PHP。在您的示例中,您有两个页面,
ajax.php
new.php
,在这个示例中,您不需要在
ajax.php
页面中使用php,因为一旦ajax.php中的php在服务器上执行并将输出发送到客户端,它将不再更改

此代码:

<?php 
$var =json_encode($_GET['action']);
echo $var;
?>

您还可以将文件
ajax.php
重命名为
ajax.html
,因为此页面上不需要php。

您是如何在浏览器中发现错误的?您刚刚加载了页面?我认为问题在于您刚刚在浏览器中加载了php文件,但它与ajax请求不同。要模拟ajax请求,您需要加载如下页面:PHP代码是否位于
new.PHP
ajax.PHP
的底部?您在
ajax.PHP
中得到的是错误,而不是接收ajax请求的脚本。
<script type="text/javascript">
    var  array={
    name:"amr",
    age:22
}
array =JSON.stringify(array);
$.ajax({
    url :"new.php",
    type : "GET",
    data :  {action:array},
    success: function(response){
    /*
     * This will write on your page (ajax.php) the response 
     * from the server, note that this is done with javascript,
     * not with PHP
     */
        document.write(response);
    },

});
</script>