[英]fetch does not send post data
我有以下js片段:
fetch('/some/webhook', {
method: 'post',
headers: { 'content-type': 'application/json' },
body: JSON.stringify({test:'1'})
}).then(function(res) {
// do something here
}).then(function(data) {
// do something else here
});
幾個小時以來,我試圖將正文發送到我的服務器,但監聽腳本在 $_POST 變量中什么也看不到。 webhook 接收請求。 一個簡單的:
die (var_dump($_POST));
結果在控制台中顯示一個空數組,我希望在其中看到值為 1 的變量test
。
怎么了?
您發送數據的方式,php 不會填充 de _POST 變量
如果你想發送json
內容,你應該做
$data = json_decode(file_get_contents('php://input'), true);
echo $data["test"];
替代解決方案,如果您希望將數據放在_POST
中,則應發送multipart/form-data
header 並使用new FormData();
作為fetch
的主體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.