发送post请求,服务器端不能解析到body的参数

发送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

猜你喜欢

转载自blog.csdn.net/qq_46063425/article/details/121275454