我正在创建一个简单的Web应用程序,在其中的一部分,我必须向PHP发送一个js变量。我使用AJAX发送JS变量,但PHP接收空白而不是数据。
这是JS函数:
function sync(){
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
console.log(xmlhttp.responseText);
}
}
xmlhttp.open("POST","sync.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
var data = "data=thisisdata";
console.log(data);
xmlhttp.send(data);
}
这是PHP代码:
<?php
return $_POST["data"];
?>
我在控制台获得的输出是:
data=thisisdata goal.js:23
goal.js:16
即,我得到一个空白而不是responseText。我没有收到任何错误。
出了什么问题?我该怎么办?
答案 0 :(得分:3)
变化
<?php
return $_POST["data"];
?>
到
<?php
echo $_POST["data"];
?>
或查看所有发布的变量
<?php
echo "<pre>"; print_r($_POST);
?>
答案 1 :(得分:1)
你需要在PHP方面回应响应:
<?php
echo $_POST["data"];
?>