gpt4 book ai didi

javascript - fetch() 对 Express.js 的 POST 请求生成空正文 {}

转载 作者:行者123 更新时间:2023-12-04 02:15:26 29 4
gpt4 key购买 nike

目标: 发送一些已定义的字符串数据HTML fetch()功能例如“我的数据”

我的代码:

HTML

<!DOCTYPE html>
<html>
<body>

<script type="text/javascript">
function fetcher() {
fetch('/compute',
{
method: "POST",
body: "MY DATA",
headers: {
"Content-Type": "application/json"
}
}
)
.then(function(response) {
return response.json();
})
.then(function(myJson) {
console.log(myJson);
});
}
</script>

</body>
</html>

服务器.js
var express = require("express");
var app = express();
var compute = require("./compute");
var bodyParser = require("body-parser");

//not sure what "extended: false" is for
app.use(bodyParser.urlencoded({ extended: false }));

app.post('/compute', (req, res, next) => {
console.log(req.body);
var result = compute.myfunction(req.body);
res.status(200).json(result);
});

目前: console.log(req.body)日志 {}
所需: console.log(req.body)日志 "MY DATA"
备注:
  • 我还尝试在 fetch() 中将正文发送为 body: JSON.stringify({"Data": "MY DATA"})但得到相同的空{}
  • 我的 fetch() 请求或 bodyParser() 设置不正确。
  • 最佳答案

    除了之前的当前 bodyParser app.use() 之外,添加以下行:

    app.use(bodyParser.json());

    这将启用 bodyParser解析 application/json 的内容类型.

    希望这会有所帮助!

    关于javascript - fetch() 对 Express.js 的 POST 请求生成空正文 {},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52684372/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com