اليوم ٣٧ من تعلم MERN Stack
أنا في اليوم السابع والثلاثين من رحلتي في تعلم MERN stack.
بالأمس، قمت بإعداد توجيه (routing) نظيف لصفحات مثل /about و /contact. واليوم، ركزت على تواصل البيانات في الخلفية (backend). درست تحليل الروابط (URL parsing) ومعلمات الاستعلام (query parameters).
عندما تبحث عن منتجات في موقع إلكتروني، يرسل الموقع البيانات عبر رابط URL. غالبًا ما ترى نصًا إضافيًا بعد علامة الاستفهام في شريط العنوان. هذه هي بيانات الاستعلام (query data).
تعلمت كيفية استخدام وحدة url في Node.js لقراءة هذه البيانات. تقوم هذه الوحدة بتحويل سلسلة URL النصية الطويلة إلى كائن (object) مهيكل.
إليك كيفية تقسيم البيانات:
- Pathname: هذا هو الموقع الرئيسي، مثل
/searchأو/api/products. - Query: هذه هي أزواج (مفتاح-قيمة) التي تأتي بعد علامة الاستفهام، مثل
?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);
يساعدك تعلم تحليل الروابط (URLs) على بناء مواقع ويب ديناميكية. يمكنك الآن التقاط مدخلات المستخدم مباشرة من عنوان الويب.
المصدر: https://dev.to/ali_hamza_589ec7b3eb6688d/day-37-of-learning-mern-stack-4758