検索

ホームページ  >  に質問  >  本文

node.js - bodyParser解析得到的参数类型不统一

请问express中如何使用bodyParser得到统一的数据类型?

const bodyParser = require('body-parser');

app.use(bodyParser.json());

app.use(bodyParser.urlencoded({
    extended: false
}));

移动设备发出的json请求 在req.body得到的参数类型会是对应的boolean、number、string

而网页中发出的form请求 在req.body得到的参数类型只会有string

PHPzPHPz2864日前653

全員に返信(1)返信します

  • 巴扎黑

    巴扎黑2017-04-17 15:17:53

    送信されたリクエストのヘッダーと解析方法が異なります

    1. モバイル デバイスから送信される json リクエストの場合、ヘッダーの Content-Typeapplication/json であり、サーバーは { name : 'taozhi', age: 18, cool: true}< などの json データを送信していることを認識します。 🎜>

    2. Web ページのフォームによって発行されるリクエストは、サーバーがそのエンコーディングを認識した後、ヘッダーの

      Content-Typeapplication/x-www-form-urlencoded になります。 などの送信データ。その後、json に解析されるため、文字列型になります。詳細な分析については、拡張が false の場合は、querystringname=taozhi&age=18&cool=true

      を参照してください。
    3. 問題が何であるかはわかりました。要求するときは、

      を同時に宣言してください。Content-Type

    4. リーリー
    解析には qs ライブラリを使用するのが最善です

    返事
    0
  • キャンセル返事