最近のバージョンのExpressでは、bodyParser
ミドルウェアの使用を中止することが推奨されています(デバッグメッセージを通じて伝えられます)。私はちょっと読んで、bodyParserはjson
とurlencoded
ミドルウェアへのラッパーです - そして、そして、最新のExpress(3.4.4)は、bodyParser
の代わりにこれらの2つを使います。右?bodyParserミドルウェアを使用せずに、ExpressでPOSTフィールドを取得する方法は?
しかし今、私は自分のフィールドに行くことができません。 req.body
は未定義です。ここに私のJSフォームの提出コード(テキストフィールドのみ、ファイルなし)です。誰かが私にその値を得るために使用するreq
のどのプロパティ/機能を教えてもらえますか?
var formData = new FormData($('#myForm')[0]);
$.ajax({
url: '/myurl',
cache: false,
contentType: false,
processData: false,
data: formData,
type: 'POST',
success: function(data) {
console.log(data);
},
error: function(jqXHR, textStatus, errorThrown) {
console.error('Error occured: ' + errorThrown);
}
});
[Busboy](https://github.com/mscdex/busboy)を代わりに使うことができます。 – adeneo
私は 'bodyParser()'に対する警告を知らなかった。 'multipart()'のためのものがありましたが、非推奨になっています。したがって、他の2つを直接使用することができます: 'app.use(express.json()); app.use(express.urlencoded()); '。 –
ありがとう@adeneo、しかし、別のリソースを含めずに値を取得する方法はありますか? –