发送post请求,服务器端不能解析到body的参数?
说来也奇怪,浏览器发送的get请求,都能够成功获取到它携带的参数,那为什么使用到post发送请求就出现了找不到携带的参数。甚至连body都是undefined!!!。
翻箱倒柜,折腾的一上午,也算是找到了一种解决办法。
原来我们发送到post请求携带的body,是需要在服务端进行解析的,不然在后台对请求进行处理的时候就会查看不到body携带的参数,甚至连body都是一个undefined值。so,看下的操作:
- 1、下载依赖包
npm i body-parser
- 2、使用中间件,也就是我们刚才下载的依赖包
然后就可以了~~
const express = require("express");
var body = require("body-parser") //导入body-parser库****1****
const app = express()
app.use(body.urlencoded({
extended:true})) //使用中间件 ****2***
app.use("/test",require("./router/index")) //测试的代码
app.listen(3000,()=>{
console.log("3000端口已经被打开了")
})
下面是对body-parser知识的一个详细记录(链接):
这四个处理方法分别对body的内容采用不同的处理方法:
分别是处理json数据、Buffer流数据、文本数据、UTF-8的编码的数据。
bodyParser.json(options)、bodyParser.raw(options)、bodyParser.text(options)、bodyParser.urlencoded(options)
(16条消息) express之中间件—body-parser解析_沈斯明技术博客-CSDN博客_bodyparser.json