我正在尝试从客户端页面向服务器发送字符串,但是服务器接收到一个空对象。这是我的客户端代码:fetch("/sugestions/sugestions.txt", { method: "POST", body: JSON.stringify({ info: "Some data" }), headers: { "Content-Type": "application/json; charset=utf-8" }}) .then(res => { if (res.ok) console.log("Yay it worked!"); else window.alert("Uh oh. Something went wrong!\n" + res); });这是我的服务器端代码:const express = require("express");const url = require("url");const fs = require("fs");const bodyParser = require("body-parser");const app = express();const port = process.env.PORT || 8080;app.set("view engine", "ejs");app.use(bodyParser());app.post("/sugestions/*", (req, res) => { info = JSON.parse(req.body); fs.appendFile(path("req").pathname, info.info, (err) => { if (err) res.status(404).end(); else res.status(200).end(); });});app.listen(port);如果重要的话,以下是路径函数:const path = req => url.parse(`${req.protocol}://${req.get("host")}${req.originalUrl}`, true);
3 回答
茅侃侃
TA贡献1842条经验 获得超21个赞
要访问请求的正文,您需要使用bodyParser。并且您需要明确地告诉bodyParser您需要解析的数据格式。现在进入您的解决方案,更换
app.use(bodyParser());
和
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
千巷猫影
TA贡献1829条经验 获得超7个赞
将这两行添加到您的代码中
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
添加回答
举报
0/150
提交
取消