我想通过XMLHttpRequest发送POST数据到PHP文件。URL是正确的,但是PHP不能捕获任何发送的数据,只能返回一个空响应。
我使用来自客户端的纯JavaScript和服务器上的PHP 7.1
我的PHP代码:
$data->msg = 'PHP is working';
$data->user = $_POST['user'];
$data->pass = $_POST['pass'];
echo json_encode($data);
我的JavaScript:
var data = { 'user': 'myUser', 'pass': 'myPass' };
var xhr = new XMLHttpRequest();
xhr.open('POST', 'myurl', true);
xhr.setRequestHeader("Content-Type", "application/json; charset=UTF-8");
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
var res = JSON.parse(xhr.response);
console.log(res);
}
};
xhr.send(data);
// Expected output: {msg: "PHP is working", user: myUser, pass: myPass}
// But just recive: {msg: "PHP is working", user: null, pass: null}
我期望收到这个响应: {msg: "PHP正在工作", user:myUser, pass:myPass} 但实际上只收到了这个: {msg: "PHP正在工作", user:null, pass:null}
正如你所看到的,PHP $_POST无法捕获我发送的POST数据,而只是返回null。是什么出了问题??