Siku ya 37 ya Kujifunza MERN Stack
Niko katika siku ya 37 ya safari yangu ya MERN stack.
Jana, niliweka mipangilio safi ya routing kwa ajili ya kurasa kama /about na /contact. Leo, nilijikita katika mawasiliano ya data ya backend. Nilijifunza kuhusu URL parsing na query parameters.
Unapotafuta bidhaa kwenye tovuti, tovuti hiyo hutuma data kupitia URL. Mara nyingi utaona maandishi ya ziada baada ya alama ya kuuliza kwenye sehemu ya anwani (address bar). Hii ndiyo data ya query.
Nilijifunza jinsi ya kutumia Node.js url module kusoma data hii. Moduli hiyo hubadilisha mfululizo mrefu wa URL (URL string) kuwa kitu kilichopangwa (structured object).
Hivi ndivyo data inavyogawanywa:
- Pathname: Hii ndiyo eneo kuu, kama vile /search au /api/products.
- Query: Hizi ni jozi za funguo na thamani (key-value pairs) baada ya alama ya kuuliza, kama vile ?name=ali&id=7.
url module inafanya data hii iwe rahisi kutumia kwenye kodi yako. Inabadilisha mfululizo huo kuwa JavaScript object.
Mfano wa kodi:
const http = require("http");
const url = require("url");
const server = http.createServer((req, res) => {
let parsedUrl = url.parse(req.url, true);
let pathname = parsedUrl.pathname;
let queryData = parsedUrl.query;
if (pathname === "/search") {
res.writeHead(200, { "Content-Type": "text/plain" });
res.end(`Searching logs for user: ${queryData.name} with ID: ${queryData.id}`);
} else {
res.end("Standard Endpoint View");
}
});
server.listen(8000);
Kujifunza kuchanganua (parse) URL kunakusaidia kujenga tovuti zinazobadilika (dynamic websites). Sasa unaweza kupata ingizo la mtumiaji moja kwa moja kutoka kwenye anwani ya wavuti.
Chanzo: https://dev.to/ali_hamza_589ec7b3eb6688d/day-37-of-learning-mern-stack-4758