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;
?>
答案 0 :(得分:0)
PHP代码在服务器上执行,然后PHP的输出发送到客户端,客户端执行JavaScript,而不是PHP。在您的示例中,您有两个页面ajax.php
和new.php
,在此示例中,您不需要在ajax.php
页面中使用PHP,因为一旦PHP出现在ajax.php中在服务器上执行,输出发送到客户端,它不会再改变。
此代码:
<?php
$var =json_encode($_GET['action']);
echo $var;
?>
应该在您的new.php
文件中,只有那里,ajax.php
将从客户端new.php
调用,它将执行您的PHP并将输出发送回客户端,一次您可以随意使用客户端上的输出,例如,这可能是ajax.php
中的源代码:
<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>
您还可以将文件ajax.php
重命名为ajax.html
,因为此页面上不需要PHP。