douyan6871
2019-03-19 22:07
浏览 136
已采纳

Fetch不发送帖子数据[重复]

This question already has an answer here:

I'm having this problem, where for some reason I can't send data to another PHP script with POST over the fetch API.

I've already checked other solutions and cleaned up my code, but it still won't work.

Maybe I'm missing something.

Here's my code:

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);

Prints:

array(0) { }

I've also tested the solutions shown in Parse Javascript fetch in PHP, but it didn't solve the problem. I still don't get the POST data in my php-script.

</div>
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • duanci9305 2019-03-19 22:24
    已采纳

    There is no problem with your JS code. However you need to look for the data in another variable in your PHP code, by reading php://input like so:

    $_POST = json_decode(file_get_contents('php://input'), true);
    

    Source: https://stackoverflow.com/a/39508364/2831645

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题