ExpressJS: dati del modulo
I moduli sono parte integrante del web. Quasi ogni sito web che visitiamo ci offre moduli che inviano o recuperano alcune informazioni per noi. Per iniziare con i moduli, installeremo prima il middleware body-parser (per l'analisi di dati JSON e codificati nell'URL) e multer (per l'analisi di dati multipart / form).
Per installare body-parser e multer , vai al tuo terminale e usa -
npm install --save body-parser multer
Sostituisci il tuo index.js contenuto del file con il codice seguente -
var express = require('express');
var bodyParser = require('body-parser');
var multer = require('multer');
var upload = multer();
var app = express();
app.get('/', function(req, res){
res.render('form');
});
app.set('view engine', 'pug');
app.set('views', './views');
// for parsing application/json
app.use(bodyParser.json());
// for parsing application/xwww-
app.use(bodyParser.urlencoded({ extended: true }));
//form-urlencoded
// for parsing multipart/form-data
app.use(upload.array());
app.use(express.static('public'));
app.post('/', function(req, res){
console.log(req.body);
res.send("recieved your request!");
});
app.listen(3000);
Dopo aver importato il body parser e multer, useremo il file body-parser per analizzare le richieste di intestazione json e x-www-form-urlencoded, mentre useremo multer per analizzare multipart / form-data.
Creiamo un modulo html per testarlo. Crea una nuova vista chiamataform.pug con il seguente codice -
html
html
head
title Form Tester
body
form(action = "/", method = "POST")
div
label(for = "say") Say:
input(name = "say" value = "Hi")
br
div
label(for = "to") To:
input(name = "to" value = "Express forms")
br
button(type = "submit") Send my greetings
Esegui il tuo server usando quanto segue.
nodemon index.js
Ora vai su localhost: 3000 / e compila il modulo come preferisci e invialo. Verrà visualizzata la seguente risposta:
Dai un'occhiata alla tua console; ti mostrerà il corpo della tua richiesta come oggetto JavaScript come nello screenshot seguente -
Il req.bodyoggetto contiene il corpo della richiesta analizzata. Per utilizzare i campi di quell'oggetto, usali come normali oggetti JS.
Questo è il modo più consigliato per inviare una richiesta. Ci sono molti altri modi, ma questi sono irrilevanti da trattare qui, perché la nostra app Express gestirà tutte quelle richieste allo stesso modo. Per saperne di più sui diversi modi per effettuare una richiesta, dai un'occhiata a questa pagina.