express.js表单post-req.body为空正文{}



我有以下reactjs代码,并使用expressjs处理post请求。req.body总是从应用程序返回{}。但它适用于Postman。

我的reactjs代码片段:

handleSubmit(e) {
e.preventDefault();
fetch(config.urlDev + '/notes', {
method: 'post',
body: { "email":"test" },
//headers: {'Content-Type':'x-www-form-urlencoded'}
headers: {'Content-Type':'application/json'}
})
.then((res) => res.json())
.then((res) => {
console.log(res)
})
.catch((err) => {
console.log(err)
})
}

我的expressjs代码片段:

module.exports = function (app, db) {
app.post('/notes', (req, res) => {
console.log(req.body)
console.log(req.params)
res.send(req.body)
})
}

server.js:

const express = require('express');
const MongoClient = require('mongodb').MongoClient
const bodyParser = require('body-parser')
const db = require('./config/db');
const app = express();
const port = 8000;
const cors = require('cors');
const path = require('path');
app.use(cors())
//app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended:true}))
MongoClient.connect(db.url, {useUnifiedTopology: true}, (err, database) => {
if (err) return console.log(err)
const mydb = database.db('notes')
require('./app/routes') (app, mydb);
app.listen(port, () => {
console.log ("server on " + port)
})
})

邮递员

尝试取消对行的注释CCD_ 1并且它应该工作。

或者,如果您在提取请求中以headers: {'Content-Type':'x-www-form-urlencoded'}而不是headers: {'Content-Type':'application/json'}的形式发送标头,它应该可以工作。

相关内容

最新更新