使用javascript和php发送和接收变量

使用javascript和php发送和接收变量,javascript,php,Javascript,Php,我尝试使用javascript将变量发送到php,并尝试接收并警告该变量。我不知道我做错了什么 以下是我的javascript代码: function getMessageType(data) { var xhr = new XMLHttpRequest(); var url = "test.php"; xhr.open('POST', url, true); xhr.setRequestHeader('Content-Type', 'application/x-

我尝试使用javascript将变量发送到php,并尝试接收并警告该变量。我不知道我做错了什么

以下是我的javascript代码:

function getMessageType(data)
{
    var xhr = new XMLHttpRequest();
    var url = "test.php";
    xhr.open('POST', url, true);
    xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');

    xhr.onreadystatechange = function () {
    if (xhr.readyState === 4 && xhr.status === 200) {
          alert(xhr.responseText);
        }
    };
    xhr.send(data);
}
以下是我的Php代码:

<?php       
$obj = $_POST['data'];
return $obj;
?>
Php代码:

<?php       
$obj = $_POST['data'];
echo $obj;

您应该
从php端回显这个变量

<?php       
$obj = $_POST['data'];
echo $obj;

而不是返回对象

echo $obj;
此外,您在向数据发出警报后发送数据请求,因此您在有任何警报之前发出警报

像这样做

  xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
 xhr.send(data);

xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
      alert(xhr.responseText);
    }
};

请更改
申请/x-www-form-urlencoded;charset=UTF-8
text/plain
尝试
xhr.setRequestHeader('Content-Type','text/plain')仍然不走运。请尝试将
true
值作为
string
发送<代码>xhr.open('POST',url,'true')您的$\u POST变量来自哪里?据我所知,在POST方法中实际上没有传递任何数据。看起来php端没有要提取的数据,因此没有任何内容被传回。当您转到php页面时会发生什么?你看到什么了吗?当我调用
getMessageType(data)
函数时,我正在传递数据。我也检查过了,数据来了。当您在浏览器中访问test.php时,是否看到数据打印在DOM上?您不想返回数据,而是想将其回显到DOM中。我看不到这一点。这段代码不是要将数据发送到php并在回显时发出警报吗。您希望我将
echo json\u encode($obj)放在哪里?您应该在php页面的末尾回显返回数据。它应该取代你的回电。你仍然没有回答我的问题。。。当您执行test.php时,是否看到了您的数据?那么,您也没有回显您的数据。或者您没有要回显的数据。好运气再次检查我的答案,您需要在脚本的前面发送(数据)。这是一个大问题,尽管我仍然不知道您从哪里获取数据。
  xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
 xhr.send(data);

xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
      alert(xhr.responseText);
    }
};