我正在尝试使用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;
?>
这是我试过的:
getMessageType('some data'); //function call
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.send(data);
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
alert(xhr.responseText);
}
};
}
Php代码:
<?php
$obj = $_POST['data'];
echo $obj;
我仍然得到空白警报。
答案 0 :(得分:0)
你应该从php端echo
这个变量。
<?php
$obj = $_POST['data'];
echo $obj;
同样在这种情况下,您应该使用text/plain
内容类型。
答案 1 :(得分:0)
而不是返回你的对象。
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);
}
};