javascript - servidor - Express js forma datos
node js tutorial (3)
¿Puede alguien decirme la forma recomendada (actualizada) para obtener los datos del formulario POST en forma expresa?
Tantos tutoriales / publicaciones, etc. hablan de bodyParser pero esto ya no está incluido con Express y otros blogs, etc. recomiendan usar urlencoded directamente, pero ahora esto tampoco está disponible.
Tratar de encontrar información precisa sobre estos marcos o tecnologías está siendo mi objetivo.
Por cierto, en lo que estoy metido es en datos muy simples y pequeños.
Del README de body-parser .
This does not handle multipart bodies, due to their complex and typically large nature.
Lo anterior funcionará con x-www-form-urlencoded y json pero NO funcionará con ninguna parte múltiple. form-data también es multiparte con el encabezado "multipart / form-data".
En el caso de los datos de formulario, su mejor solución sería usar esta lib: https://github.com/noraesae/express-formidable
Puede hacer uso de un módulo expreso formidable para eso. instala ''express-formidable'' con el siguiente comando npm install express-formidable
el ejemplo simple es el siguiente
const express = require(''express'');
const formidable = require(''express-formidable'');
var app = express();
app.use(formidable());
app.post(''/upload'', (req, res) => {
//req.fields contains non-file fields
//req.files contains files
res.send(JSON.stringify(req.fields));
});
Debe instalar body-parser
través de npm-install
. Ahora viene como un middleware por separado.
Después de eso, agrega la siguiente línea en tu app.js
var bodyParser = require(''body-parser'');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
// in latest body-parser use like below.
app.use(bodyParser.urlencoded({ extended: true }));
Analiza la solicitud de post
como un object
. Obtendrás tus variables en req.body
.
En tu controlador de solicitud de post
.
app.post(''/post'',function(request,response){
console.log(request.body) //you will get your data in this as object.
})