使用javascript和php发送和接收变量
我尝试使用javascript将变量发送到php,并尝试接收并警告该变量。我不知道我做错了什么 以下是我的javascript代码:使用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-
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);
}
};