前言:
今天给学弟做毕业设计的时候,自己写接口遇到一个很奇怪的事情,在一个登录接口中,前端传过来的值一直为空,当我换成get请求时,又可以正常传递过来,于是百度了一下,找到答案了。
Nodejs req.body 默认为空。如果使用了 express 框架,可以输入以下代码解决
在app.js文件中
// 考虑到post的请求的参数在请求体内 req.body 所以要安装body-parser来解析请求体中的数据
// 安装body-parser的命令 npm install body-parser --save
var bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
在http请求种,POST、PUT、PATCH三种请求方法中包含着请求体,也就是所谓的request,在Nodejs原生的http模块中,请求体是要基于流的方式来接受和解析。
body-parser是一个HTTP请求体解析的中间件,使用这个模块可以解析JSON、Raw、文本、URL-encoded格式的请求体