5. Mengambil URL untuk Routing
Jika kita ingin mengambil URI untuk membuat URL routing, maka kita bisa mengambilnya dari objek request
dengan properti url
.
Contoh:
var http = require('http');
http.createServer(function (request, response){
response.writeHead(200, {'Content-Type': 'text/html'});
response.write('URL: ' + request.url);
response.end();
}).listen(8000);
console.log('Server running on http://localhost:8000');
Hasilnya:
Dari nilai ini, kita bisa membuat router, misalnya saat orang membuaka rute ini maka jalankan fungsi ini.
Contoh:
var http = require('http');
http.createServer(function (request, response){
response.writeHead(200, {'Content-Type': 'text/html'});
switch(request.url){
case '/about':
response.write("Ini adalah halaman about");
break;
case '/profile':
response.write("Ini adalah halaman profile");
break;
case '/produk':
response.write("ini adalah halaman produk");
break;
default:
response.write("404: Halaman tidak ditemukan");
}
response.end();
}).listen(8000);
console.log('Server running on http://localhost:8000');
Hasilnya:
Apabila kita membuka router yang belum didefinisikan, maka akan ditampilkan default
atau 404
.
Cara Mengambil Query String di Nodejs
Kita sudah tahu cara membuat router dari URL, sekarang bagaimana kalau di routernya ada query string seperti ini:
Teks yang ada setelah tanda tanya (?
) disebut query string.
contoh:
?harga=1000
Bagiamana cara kita mengambil nilai tersebut?
Untuk melakukannya, kita bisa menggunakan modul url
.
Contoh:
var http = require('http');
var url = require('url');
http.createServer(function (request, response) {
response.writeHead(200, { 'Content-Type': 'text/html' });
var q = url.parse(request.url, true).query;
var txt = 'Kata kunci: ' + q.keyword;
response.end(txt);
}).listen(8000);
console.log("Server berjalan di http://localhost:8000")
Hasilnya:
Perhatikan beris ini:
var q = url.parse(request.url, true).query;
Pada baris tersebut, kita melakukan parsing URL dengan modul url
. Lalu mengambil properti query
.
Sehingga variabel q
akan menjadi sebuah objek yang berisi seperti ini:
{ keyword: 'Belajar nodejs' }
Dengan demikian, kita bisa mengambil nilai 'Belajar nodejs'
melaui properti keyword
.
console.log(q.keyword); // 'Belajar nodejs'
Apa Selanjutnya?
Kita sudah belajar cara menggunakan modul http
untuk membuat server, routing, dan mengambil query string dari request.
Nah, jika protokol yang digunakan adalah https
. Nodejs juga menyediakan modul https
. Cara penggunaanya sama seperti http
.
Selanjutnya, coba-coba eksperimen dengan modul yang lain. Atau mulai belajar framework Express.
Karena membuat aplikasi web dengan nodejs dari nol akan lebih rumit.
Soalnya,kita harus mempertimbangkan banyak hal dalam membuat route.
Seperti:
- Bagaimana kalau method request-nya berbeda-beda?
- Bagaimana cara menghandle upload file?
Mungkin hal ini akan kita bahas di kesempatan berikutnya…
Selamat belajar.
sumber: www.petanikode.com
documentasi belajar
إرسال تعليق