Ответ 1
Вы должны явно установить extended
для bodyParser.urlencoded()
, поскольку значение по умолчанию будет изменено в следующей главной версии body-parser
. Пример:
app.use(bodyParser.urlencoded({ extended: true }));
В моем приложении node я использую express. все работает нормально, но я получаю ошибку в cmd
. Я использую все обновленные модули...
мой код:
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!');
});
Ошибка:
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
Может ли кто-нибудь помочь мне понять эту проблему?
Вы должны явно установить extended
для bodyParser.urlencoded()
, поскольку значение по умолчанию будет изменено в следующей главной версии body-parser
. Пример:
app.use(bodyParser.urlencoded({ extended: true }));
Внимание: С помощью express version => 4.16.0
промежуточное ПО body-parser
было добавлено обратно по методам express.urlencoded()
и express.json()
Который может использоваться как:
app.use(express.urlencoded({extended: true}));
app.use(express.json());
Ошибка говорит, что вам необходимо предоставить расширенный вариант для body-parser следующим образом:
app.use(bodyParser.urlencoded({ extended: false }))
Установите ограничение в 50 МБ, чтобы избежать ошибок при обработке данных. В urlencode ограничение в 50 МБ предназначено для передачи URL-адреса броска imageData.
app.use(bodyParser.json({
limit : '50mb' ///////// LIMIT for JSON
}));
app.use(bodyParser.urlencoded({
limit : '50mb', ///////// LIMIT for URL ENCODE (image data)
extended : true
}));