Code ví dụ Node.js submit form với module Formidable

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:

Code ví dụ Node.js submit form với module Formidable

Cài đặt module formidable:

Code ví dụ Node.js submit form với module Formidable

Chạy project:

Code ví dụ Node.js submit form với module Formidable

Truy cập đường dẫn localhost:8080 và nhập thông tin username/password là kai/admin1234 sau đấy submit:

Code ví dụ Node.js submit form với module Formidable

Kết quả:

Code ví dụ Node.js submit form với module Formidable

Code ví dụ Node.js submit form với module Formidable

Okay, done!

Download code ví dụ trên tại đây.

 

References:

https://www.w3schools.com/nodejs/nodejs_uploadfiles.asp

stackjava.com