Pada nodejs, POST dan GET merupakan metode yang digunakan untuk mengirim data ke suatu server untuk diolah. Secara umum, Metode ini dapat kita definisikan saat membuat form:
<form method="GET" action="/send/"><br>
...
<br>
</form>
Metode GET pada nodejs berfungsi untuk mengirim data melalui URL yang biasanya digunakan untuk pencarian, sedangkan metode POST akan mengirim data melalu latar belakang yang digunakan pada form login.
Untuk lebih jelasnya, simak contoh berikut :
Mengambil data Menggunakan Metode GET & POST pada Nodejs
Kita dapat menggunakan modul url untuk mengambil data dari form dengan metode GET, Hal ini dikarenakan kita akan mengambil data tersebut dari parameter URL.
Contoh :
1. Buat file HTMLuntuk form-nya dengan nama search.html dan isi sebagai berikut:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Form Nodejs</title>
</head>
<body>
<form action="/search/" method="GET">
<label>Cari: </label>
<input type="text" name="keyword" placeholder="kata kunci..." />
<input type="submit" value="Cari" />
</form>
</body>
</html>
Keterangan :
var keyword = q.query.keyword;
merupakan input dengan nama keyword yang akan menjadi nama key dalam pengambilan parameter.
2. Setelah itu buat file Javascript dengan nama get.js, lalu isi dengan kode berikut:
var http = require('http');
var url = require('url');
var fs = require('fs');
http.createServer(function (req, res) {
var q = url.parse(req.url, true);
if(q.pathname == "/search/" && req.method === "GET"){
// ambil parameter dari URL
var keyword = q.query.keyword;
if( keyword ){
// Ambil data dari form dengan metode GET
res.writeHead(200, {'Content-Type': 'text/html'});
res.write("<h3>Search Results:</h3>");
res.write("<p>kata kunci pencarian : <b>" + keyword + "</b></p>");
res.write("<pre>kata kunci yang anda masukkan belum ada di pencarian! silahkan tulis kata kunci yang terkait lainnya </pre>")
res.end("<a href='/search/'>Back</a>");
} else {
// tampilkan form search
fs.readFile('search.html', (err, data) => {
if (err) { // kirim balasan error
res.writeHead(404, {'Content-Type': 'text/html'});
return res.end("404 Not Found");
}
// kirim form search.html
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
}
}
}).listen(8000);
console.log('server is running on http://localhost:8000');
3. Sekarang kita eksekusi programnya denga perintah : node get,js
4. Terakhir buka http://localhost:8000/search/ di halaman browser, maka hasilnya terlihat pada gambar dibawah ini.
Begitulah cara menggunakan Metode GET dengan POST untuk mengambil data form. Baca juga artikel selanjutnya yaitu : Belajar Nodejs 9# Upload File di Nodejs menggunakan Modul formidable