文档表明sendBeacon通过HTTP POST request发送数据,但是在PHP中$_POST变量似乎是一个空数组。
以下是我的javascript代码:navigator.sendBeacon('beacon_log.php','My lost data')
我做错了什么?
最新情况:
发现如果我使用navigator.sendBeacon('beacon_log.php?g_data=My data ok','Still lost!'),我可以用$_GET访问gdata --为什么是$_SERVER['REQUEST_METHOD']=POST?
发布于 2015-10-15 02:56:34
来自navigator.sendBeacon的数据在$HTTP_RAW_POST_DATA中找到。
发布于 2020-04-24 11:33:39
以下是我如何做到的:
前端:在我的.js文件中:
window.onbeforeunload = () => {
navigator.sendBeacon('php/record-stats.php', JSON.stringify(stats));
}后端:文件中的
$request = file_get_contents('php://input');
$data = json_decode($request);有很多试验/错误,当时我找不到任何医生.
发布于 2020-11-19 06:12:31
https://stackoverflow.com/questions/33062002
复制相似问题