req.bodyがノードのpostリクエストの値を取得できない問題を解決

問題: フロントエンドは明らかにパラメーターを渡しましたが、バックエンドはポストリクエストを通じてフロントエンドによって要求された値を取得できませんでした。

バックエンド ソリューション 1:

app.js の Express に付属する組み込みミドルウェアを使用して解決します。

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

バックエンド ソリューション 2:

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
  },

テストの成功:

 これで記事は終わりです、お役に立てば幸いです~

おすすめ

転載: blog.csdn.net/qq_44278289/article/details/130965200