express melempar kesalahan karena `body-parser deprecated undefined extended`


127

Di aplikasi node saya, saya menggunakan express. semua berfungsi dengan baik, Tapi saya mendapatkan kesalahan di cmd. Saya menggunakan semua modul yang diperbarui ...

kode saya:

var express = require('express');
var bodyParser = require('body-parser');
var jade = require('jade');
var app = express();
app.set('view engine', 'jade');
app.set('views', __dirname + '/views');
app.use(express.static(__dirname + '/public'));


app.use(bodyParser.json()); // to support JSON-encoded bodies
app.use(bodyParser.urlencoded()); // to support URL-encoded bodies


app.get('/',function(req,res){
    res.render('index.jade');
});

app.get('/login',function(req,res){
    res.render('index.jade');
});

app.post('/login',function(req,res){
    console.log(req.body);
});

app.get('/signup',function(req,res){
    res.render('signup.jade');
});

var env = process.env.PORT || 3000;


app.listen(env, function(req, res){
    console.log('i am working!');
});

Kesalahan:

D:\myLogin>node app
body-parser deprecated undefined extended: provide extended option app.js:11:20 //why i am getting this?
i am working!
{ username: 'jbarif@gmail.com', password: 'pass' } // i am getting response

Adakah yang bisa membantu saya untuk memahami masalah ini?


@RamprasathSelvam - Ya, benar !!
— 3gwebtrain

@RamprasathSelvam - mungkin ada yang salah dengan kode Anda, versi modul atau integrasi, silakan periksa
— 3gwebtrain

Di mana kami memilih pesan kesalahan terburuk yang pernah ada? Terutama mengingat hal ini sangat mungkin terjadi, pesannya hanya terlihat seperti sekantong kata-kata acak.
— pembicara

Jawaban:


264

Anda harus secara eksplisit mengatur extendeduntuk bodyParser.urlencoded()sejak nilai default akan berubah dalam versi utama berikutnya dari body-parser. Contoh:

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

Sejak express4.16.0, Anda juga dapat melakukan:

app.use(express.urlencoded({ extended: true }))

11
Apa fungsinya?
— Samarth Agarwal

6
@SamarthAgarwal Menurut readme , ia menggunakan qsmodul untuk mengurai tubuh yang memungkinkan array bersarang seperti sintaks untuk diurai seperti test[foo][bar]=baz(yang menjadi {'test': {'foo': {'bar': 'baz'}}})
— Bailey Parker


14

Kesalahan mengatakan Anda perlu memberikan opsi yang diperluas untuk pengurai tubuh seperti:

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


0

Jika Anda berada di sini, setelah Mei-2020 itu berarti Anda pasti menggunakan node versi v13.12.0 .. Jadi, app.use (express.urlencoded ({extended: true}))

Pasti ini akan berhasil untukmu .... # peace


-1

Tetapkan batas 50 MB untuk menghindari kesalahan penanganan data., Dalam batas kode url, 50mb adalah untuk membantu Anda melewati url gambarData

  app.use(bodyParser.json({
        limit : '50mb'    ///////// LIMIT for JSON
      }));

    app.use(bodyParser.urlencoded({
        limit : '50mb', ///////// LIMIT for URL ENCODE (image data)
        extended : true
      }));
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.