我遇到了这个问题,由于某种原因,我无法通过fetch
API通过POST将数据发送到另一个PHP脚本。
我已经检查了其他解决方案并清理了我的代码,但仍然无法使用。
也许我想念一些东西。
这是我的代码:
function request(where, num, last, query){
for (var i = num; i > 0; i--) {
fetch("global/modul.php", {
method: "POST",
body: JSON.stringify({
last: last,
query: query
}),
headers:{
'Content-Type': 'application/json'
}
}).then(function (response) {
return response.text();
}).then(function (data) {
let html = data.trim();
document.getElementById(where).innerHTML += html.trim();
}).catch(function (error) {
console.log('Request failed', error);
});
last = document.getElementById(where).lastChild.id;
}
}
var_dump($_POST);
打印:
array(0){}
我也测试了Parse Javascript fetch in PHP中显示的解决方案,但是并没有解决问题。我仍然无法在php脚本中获取POST数据。
答案 0 :(得分:2)
您的JS代码没有问题。但是,您需要通过读取php://input
来在PHP代码中的另一个变量中查找数据,如下所示:
$_POST = json_decode(file_get_contents('php://input'), true);