猿问

Express js bodyparser发布req.body无法正常工作?

我尝试用express js post请求构建一个api。我将body-parser用于req.body。但是在发送发布请求后,我仍然无法加载任何消息,然后显示超时。我的问题在哪里,请看一下我的代码。我正在从邮递员测试它,并在标头内容类型application / json上使用。


const express = require('express');

const bodyParser = require('body-parser');

const config = require('./config/config.js').get(process.env.NODE_ENV);

const mongoose = require('mongoose');

const app = express();

mongoose.connect(config.DATABASE)

const {Book} = require('./models/book')


app.use(bodyParser.json())


// Post Book

app.post('api/book', (req,res)=>{

    let book = new Book(req.body)


    book.save((err, doc)=>{

        if(err) return res.status(400).send(err);

        res.status(200).json({

            post:true,

            bookId: doc._id

        })

    })

})

现在错误显示-无法发布/ api / book,但是当我在下面的代码中尝试使用此代码时-


const book = new Book({ name: 'Zildjian' });

book.save().then(() => console.log('data save'));


慕的地8271018
浏览 145回答 1
1回答

湖上湖

将您的路线从更改api/book为/api/book-添加领导者/。另外,由于无法通过Cookie解析器中间件,因此看起来可能正在超时。您已经传递了函数:app.use(cookieParser)...但是您需要调用它:app.use(cookieParser())您还需要导入它:const cookieParser = require('cookie-parser')...或者如果您不需要它,则将其完全删除。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答