簡體   English   中英

fetch 不發送 post 數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM