ExpressJS上的空req.query"/>
ExpressJS上的空req.query
当我使用http.post将数据从Angular发送到NodeJS时,它总是返回空的req.query。 我的server.js:
const express = require('express');
const cors = require('cors');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(cors());
app.post('/', (req, res) => {
console.log(req.query);
res.send(req.query);
});
app.listen(4000, () => {
console.log('Successfully');
});
前端:
onSubmit(f: NgForm) {
let data = f.value;
let httpOptions = {
headers: new HttpHeaders().set('Content-Type', 'application/json')
};
data = JSON.stringify(data);
this.http.post('http://localhost:4000/', data, httpOptions).subscribe(data => {
console.log(data);
}, error => {
console.log(error);
});
}
并且它总是在控制台中返回{}。 我试图在POSTMAN中运行POST请求,并且在那里可以正常工作。 这是浏览器中HTTP请求的正文:浏览器中HTTP请求
希望对您有所帮助,谢谢。
回答如下:那是因为req.query
拥有查询字符串参数,看起来您只是通过主体传递数据,所以您需要req.body
更多推荐
ExpressJS上的空req.query
发布评论