fetch 不发送 post 数据

我有以下 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));

结果控制台中显示一个空数组,我本希望在其中看到test值为 1 的变量。


怎么了?


Cats萌萌
浏览 67回答 1
1回答

慕妹3242003

您发送数据的方式,php 不会填充 de _POST 变量如果你想发送json内容,你应该这样做$data = json_decode(file_get_contents('php://input'), true); echo $data["test"];替代解决方案,如果您希望包含数据,则_POST应该发送multipart/form-data标头并使用 anew FormData();作为 的正文fetch。
打开App,查看更多内容
随时随地看视频慕课网APP