我需要使用xhr.send(VALUE)
在AJAX中发送数据。如何在PHP文件中获取此数据?
JS:
window.onload = function() {
var value = 'hello';
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if(xhr.readyState == 4 && xhr.status == 200) {
alert(xhr.responseText);
} else {
alert("no");
}
}
xhr.open('POST', 'json.php', true);
xhr.send(value);
}
答案 0 :(得分:1)
如果您想在PHP页面上看到$_POST
变量,您可以使用此代码全部显示它们,以便您可以直观地看到它们的键和值
echo "<pre>";
print_r($_POST);
echo "</pre>";
从那里你将知道如何在任何文件中使用数据。您可以使用$_GET
答案 1 :(得分:1)
您只是将一个字符串发送到PHP文件。您不是将其作为查询字符串或内容类型发送,因此PHP不会填充$POST
数组。
您可以尝试阅读原始帖子数据:
$post = file_get_contents('php://input');
echo $post; // hello
或者,如果您希望PHP填充$_POST
,您需要在JavaScript中执行一些额外的步骤。
window.onload = function() {
var value = 'hello';
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if(xhr.readyState == 4 && xhr.status == 200) {
alert(xhr.responseText);
} else {
alert("no");
}
}
xhr.open('POST', 'json.php', true);
// Tell the server you are sending form data
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
// Send it as a query string
xhr.send('value='+value);
}
然后在PHP中,您可以访问$_POST['value']
。
echo $_POST['value']; // hello
答案 2 :(得分:0)
试试这个,用
替换你的xhr.sendJS
xhr.send('value='+value);
PHP
echo($_POST['value']);