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: '[email protected]', password: 'pass' } // i am getting response
Adakah yang bisa membantu saya untuk memahami masalah ini?
Jawaban:
Anda harus secara eksplisit mengatur
extended
untukbodyParser.urlencoded()
sejak nilai default akan berubah dalam versi utama berikutnya daribody-parser
. Contoh:Sejak
express
4.16.0, Anda juga dapat melakukan:sumber
qs
modul untuk mengurai tubuh yang memungkinkan array bersarang seperti sintaks untuk diurai sepertitest[foo][bar]=baz
(yang menjadi{'test': {'foo': {'bar': 'baz'}}}
)Perhatian: Dengan
express version => 4.16.0
inibody-parser
middleware ditambahkan kembali di bawah metodeexpress.urlencoded()
danexpress.json()
Yang bisa digunakan sebagai:
sumber
Kesalahan mengatakan Anda perlu memberikan opsi yang diperluas untuk pengurai tubuh seperti:
sumber
Mulai dari Express versi 4.16.0, Anda diharapkan meneruskan properti yang diperluas di dalam bodyParser.urlencoded ()
Lihat halaman dokumentasi npm.js untuk contoh: https://www.npmjs.com/package/body-parser#expressconnect-top-level-generic
sumber
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
sumber
sumber