Express框架接收不到POST方法的请求体

Express框架接收不到POST方法的请求体


服务端代码如下:接收到post的请全体,并返回。
const express = require("express")

const app = express()

const router = require('./approuter')

app.use('/api', router)

router.post('/login', (req, res)=>{
    const body = req.body
    console.log(body)
    let data = {
        status:0,
        msg:'post请求成功',
        data:body
    }
    res.send(data)
})

但是!!!!我用postman进行测试,发现无论如何都无法正常获得那个body

在这里插入图片描述

我也尝试过通过控制台打印,结果也是undefined!


解决方案:需要配置一个解析表单数据的中间件,具体代码为app.use(express.urlencoded({ extended: true }))

注意代码加的位置:如果加在app.use('/api', router)下方,则不起作用。

const express = require("express")

const app = express()



const router = require('./approuter')
app.use(express.urlencoded({ extended: true }))

app.use('/api', router)



router.get('/getInfo', (req, res)=>{
    const query = req.query
    let data = {
        status:0,
        msg:'get请求成功',
        data:query
    }
    res.send(data)
})

router.post('/login', (req, res)=>{
    const body = req.body
    console.log(body)
    let data = {
        status:0,
        msg:'post请求成功',
        data:body
    }
    res.send(data)
})

app.listen(80,()=>{
    console.log("已访问")
})

加上这句代码之后就可以显示成功了
在这里插入图片描述

问题解决

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值