115

アプリでエクスプレスとボディパーサーを使用しています。

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

しかし、express 4.0 での「拡張」とは何を意味するのでしょうか。

私はこれを見つけました

extended - parse extended syntax with the qs module.

とはいえ、いまだに意味が理解できません。

4

3 に答える 3

170

extendedの場合false、「ネストされたオブジェクト」を投稿できません

person[name] = 'cw'

// Nested Object = { person: { name: cw } }

の場合extendedtrue、好きなようにできます。

于 2016-09-29T20:53:56.227 に答える
22

Body-Parser ドキュメントから:

解析されたデータを含む新しいボディ オブジェクトは、ミドルウェア (つまり、req.body) の後にリクエスト オブジェクトに取り込まれます。このオブジェクトにはキーと値のペアが含まれ、値は文字列または配列 (extended が false の場合)、または任意の型 (e​​xtended が true の場合) になります。

拡張オプションを使用すると、クエリ文字列ライブラリ (false の場合) または qs ライブラリ (true の場合) を使用して URL エンコードされたデータを解析することを選択できます。「拡張」構文を使用すると、リッチ オブジェクトと配列を URL エンコード形式にエンコードできるため、URL エンコードで JSON のようなエクスペリエンスを実現できます。詳細については、qs ライブラリを参照してください。

基本的に拡張すると、完全なオブジェクトを解析できます。

ボディ パーサー: エンコードされた URL

于 2015-04-30T06:48:09.367 に答える