解决node的post请求中req.body获取不到值

问题:前端明明传参数了后端通过post请求一直获取不到前端请求到的值

后端解决方法一:

在app.js中使用express自带的内置中间件解决

const express = require("express");
const app = express();
// 解析 url-encoded格式的表单数据
app.use(express.urlencoded({ extended: false }));
 
// 解析json格式的表单数据
app.use(express.json());

后端解决方法二:

在app.js中安装使用body-parser解决

const express = require("express");
const app = express();
 
// 导入 body-parser中间件解析表单数据
const bodyParser = require("body-parser");
 

// 解析 url-encoded格式的表单数据
app.use(bodyParser.urlencoded({ extended: false }));
 
// 解析json格式的表单数据
app.use(bodyParser.json());

到这里可能还有小伙伴说,我这后端都做了怎么还是获取不到前端的值,如下:前端也需要做操作

前端解决:

在前端请求头'Content-Type'添加'application/json;charset=utf-8'即可

  // 请求拦截器
  beforeRequest(method) {
    method.config.headers['Content-Type'] = 'application/json;charset=utf-8'
    method.config.headers['Access-Control-Allow-Origin'] = '*'
    method.config.headers['Access-Control-Allow-Methods'] = 'PUT, POST, GET, DELETE'
    method.config.headers['Access-Control-Allow-Private-Network'] = true
  },

测试成功:

解决node的post请求中req.body获取不到值_第1张图片

 文章到此结束,希望对你有所帮助~

你可能感兴趣的:(前端,json,node.js)