ExpressJS - dane formularza
Formularze są integralną częścią sieci. Prawie każda odwiedzana przez nas witryna internetowa oferuje nam formularze, które przesyłają lub pobierają dla nas pewne informacje. Aby rozpocząć korzystanie z formularzy, najpierw zainstalujemy oprogramowanie pośredniczące body-parser (do analizowania danych zakodowanych w formacie JSON i url) oraz multer (do analizowania danych wieloczęściowych / formularzy).
Aby zainstalować body-parser i multer , przejdź do terminala i użyj -
npm install --save body-parser multer
Wymień swój index.js zawartość pliku z następującym kodem -
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);
Po zaimportowaniu parsera treści i multera użyjemy rozszerzenia body-parser do analizowania żądań nagłówków json i x-www-form-urlencoded, podczas gdy będziemy używać multer do analizowania danych wieloczęściowych / formularzy.
Utwórzmy formularz HTML, aby to przetestować. Utwórz nowy widok o nazwieform.pug z następującym kodem -
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
Uruchom serwer, korzystając z następującego.
nodemon index.js
Teraz przejdź do localhost: 3000 / i wypełnij formularz, jak chcesz, i prześlij go. Zostanie wyświetlona następująca odpowiedź -
Spójrz na swoją konsolę; pokaże ci treść twojego żądania jako obiekt JavaScript, jak na poniższym zrzucie ekranu -
Plik req.bodyobiekt zawiera przeanalizowane treści żądania. Aby użyć pól z tego obiektu, po prostu używaj ich jak zwykłych obiektów JS.
Jest to najbardziej zalecany sposób wysyłania żądania. Jest wiele innych sposobów, ale te nie mają tutaj znaczenia, ponieważ nasza aplikacja Express będzie obsługiwać wszystkie te żądania w ten sam sposób. Aby dowiedzieć się więcej o różnych sposobach składania wniosków, zajrzyj na tę stronę.