روز ۳۷ یادگیری MERN stack
من در روز ۳۷ از مسیر یادگیری MERN stack هستم.
دیروز، مسیریابی (routing) تمیزی برای صفحاتی مانند /about و /contact راهاندازی کردم. امروز، روی ارتباطات دادهای در سمت بکاند (backend) تمرکز کردم. من تجزیه URL (URL parsing) و پارامترهای پرسوجو (query parameters) را مطالعه کردم.
وقتی در یک وبسایت به دنبال محصولات میگردید، سایت دادهها را از طریق URL ارسال میکند. شما اغلب متنهای اضافی را بعد از علامت سوال در نوار آدرس مشاهده میکنید. این همان دادههای پرسوجو (query data) است.
من یاد گرفتم که چگونه از ماژول url در Node.js برای خواندن این دادهها استفاده کنم. این ماژول یک رشته URL طولانی را به یک شیء (object) ساختاریافته تبدیل میکند.
نحوه تجزیه دادهها به این صورت است:
- Pathname: این مکان اصلی است، مانند
/searchیا/api/products. - Query: اینها جفتهای کلید-مقدار (key-value pairs) بعد از علامت سوال هستند، مانند
?name=ali&id=7.
ماژول url استفاده از این دادهها را در کد شما آسان میکند. این ماژول رشته را به یک شیء JavaScript تبدیل میکند.
نمونه کد:
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);
یادگیری تجزیه URLها به شما کمک میکند تا وبسایتهای پویا (dynamic) بسازید. اکنون میتوانید ورودی کاربر را مستقیماً از آدرس وب دریافت کنید.
منبع: https://dev.to/ali_hamza_589ec7b3eb6688d/day-37-of-learning-mern-stack-4758