STACKJAVA

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 đó:

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:

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