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.