Code ví dụ Node.js submit form với module Formidable
Module Formidable
Module formidable là một module rất tuyệt vời để làm việc với form, file uploads.
Để cài đặt module formidable ta dùng lệnh:
npm install formidable
Để include module formidable vào project ta dùng method:
var formidable = require('formidable');
Với module formidable ta có thể dễ dàng lấy ra được các thông tin trong request mà người dùng gửi lên server:
var form = new formidable.IncomingForm(); form.parse(req, function (err, fields, files) { // do something });
trong đó:
- req là request từ người dùng
- fields là các thông tin (parameter) mà người dùng submit
- files là file được người dùng upload lên.
Code ví dụ submit form với module formidable
Ở ví dụ này mình sẽ thực viện submit form login với 2 thông tin là username và password:
Tạo server http để trả về người dùng form login, khi người dùng submit tới url /login
thì sẽ in thông tin login đó ra
var http = require('http'); var formidable = require('formidable'); http.createServer(function (req, res) { if (req.url == '/login') { var form = new formidable.IncomingForm(); form.parse(req, function (err, fields) { var username = fields.username; var password = fields.password; console.log('username: ' + username + ' ---- password: ' + password); res.write('username: ' + username + ' ---- password: ' + password); res.end(); }); } else { res.writeHead(200, {'Content-Type': 'text/html'}); res.write('<form action="login" method="post">'); res.write('username: <input type="text" name="username"><br>'); res.write('password: <input type="password" name="password"><br>'); res.write('<input type="submit">'); res.write('</form>'); return res.end(); } }).listen(8080);
Khởi tạo project:
Cài đặt module formidable:
Chạy project:
Truy cập đường dẫn localhost:8080
và nhập thông tin username/password là kai/admin1234
sau đấy submit:
Kết quả:
Okay, done!
Download code ví dụ trên tại đây.
References: