خواندن Query String
تابع منتقل شده به ()http.createServer
دارای یک آرگومان به نام req است که درخواست client را به عنوان یک شی (object http.IncomingMessage) نشان می دهد.
این شیء "url" نامیده می شود که بخشی از آدرس را پس از نام دامنه نگه می دارد:
// demo_http_url.js
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(req.url);
res.end();
}).listen(8080);
کد بالا را در یک فایل با نام "demo_http_url.js" ذخیره کنید و فایل را اجرا کنید:
// فایل را با ترمینال اجرا کنید
C:\Users\Your Name>node demo_http_url.js
اگر مراحل مشابه را در رایانه خود انجام داده باشید، هنگام باز کردن این دو آدرس باید دو نتیجه مختلف را ببینید.
این آدرس را در مرورگر خود باز کنید:
http://localhost:8080/summer
خروجی :
/summer
سپس این آدرس را در مرورگر خود باز کنید:
http://localhost:8080/winter
خروجی :
/winter
جداسازی Query String
ماژول هایی ساخته شده است که به راحتی می تواند رشته پرس و جو را به قسمت های قابل خواندن، مانند ماژول URL تقسیم کند.
var http = require('http');
var url = require('url');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
var q = url.parse(req.url, true).query;
var txt = q.year + " " + q.month;
res.end(txt);
}).listen(8080);
کد بالا را در یک فایل با نام "demo_querystring.js" ذخیره کنید و فایل را اجرا کنید:
C:\Users\Your Name>node demo_querystring.js
به این آدرس در مرورگر خود بروید:
http://localhost:8080/?year=2017&month=July
خروجی کد بالا به این صورت خواهد بود:
2017 July
پس به این طریق می توانیم کوئری خود را از طریق درخواست GET ، از مرورگر کاربر دریافت کنیم.