PHP接收黑色而不是js变量发送?

时间:2014-03-12 15:47:33

标签: javascript php ajax

我正在创建一个简单的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。我没有收到任何错误。

出了什么问题?我该怎么办?

2 个答案:

答案 0 :(得分:3)

变化

<?php
return $_POST["data"];
?>

<?php
echo $_POST["data"];
?>

或查看所有发布的变量

<?php
  echo "<pre>"; print_r($_POST);
?>

答案 1 :(得分:1)

你需要在PHP方面回应响应:

<?php
echo $_POST["data"];
?>