tutorial servidor node lado espaƱol descubriendo desarrollo javascript node.js express connect

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)); });

Haga clic aquí para más descripción


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. })