node.js - Node.js Express Post 请求正文为空
问题描述
嗨,我一直在处理我的 Express 服务器的问题。关于这个问题有很多 Stack Overflow 帖子,但我一直找不到适合我的答案。收到 POST 请求时,我只在下面的代码中获取request.body的{} :
const bodyParser = require('body-parser');
const app = express();
const User = require('./models/users');
const port = process.env.PORT || 3000;
app.use(bodyParser.urlencoded({ extended: true}));
app.use(bodyParser.json()); // support json encoded bodies
//Basic routes
app.post('/signup', async (request,response)=>{
//const newUser = new User(queryObject);
console.log("in post");
console.log(request.body);
response.end();
});
//Binding to a port
app.listen(port, ()=>{
console.log('Express server started at port 3000');
});
这是我发送 POST 请求的地方:
const xhr = new XMLHttpRequest();
xhr.addEventListener('load', () => {
console.log(xhr.response);
});
xhr.open('POST', 'http://localhost:3000/signup', false);
xhr.send(JSON.stringify({ hello : "WORLD" }));
我有什么遗漏或做错了吗?谢谢你。
解决方案
Yoy 没有向客户端发送任何内容,因此将您的 json 对象传递给 res.end() 或使用此 res.json({"foo": "bar"});
推荐阅读
- c# - 如何从 WPF 中的 ListView 选择中在 DataGrid 上添加数量列
- r - 如何创建自定义 x 轴刻度
- mongodb - MongoDB:卡住 mongod.lock 文件
- java - 有特殊要求的 Java 通行证生成器
- mysql - 如何像这样将 table1 重组和规范化为 table2?
- angular - (ionSelect) 不调用离子选择选项
- kde - 重访:如何启动具有多个选项卡的 KDE konsole 运行各种 progs?
- typescript - 这个 TypeScript 声明有什么问题?
- android - 在 android SQL 数据库中追加数据
- r - 在不重新启动 R 会话的情况下释放 R 会话中的所有 RAM?