Tamim Fahed نشر 1 أغسطس 2021 أرسل تقرير نشر 1 أغسطس 2021 يوجد معاملات أساسية مع كل طلب أو مسار في إطار العمل express.js وهما req , res : app.get('/test/:data', function(req, res){ res.send('data: ' + req.params.data); }); ماهي وظيفة هذه المعاملات؟ وهل يمكنني تغيير اسمائها إلى شيء آخر؟ وهل استخدامها معاً ضروري أو يمكن الاستغناء عنها في هذا التابع function ؟ 1 اقتباس
1 محمد أبو عواد نشر 1 أغسطس 2021 أرسل تقرير نشر 1 أغسطس 2021 req هو كائن يحتوي على معلومات حول طلب HTTP الذي أثار الحدث. استجابة للطلب ، يمكنك استخدام res لإعادة إرسال استجابة HTTP المطلوبة, يمكن تسمية هذه المعلمات بأي شيء. لنفترض انه لدينا هذا المسار app.get('/Hello.json', function(request, response) { }); سيكون المتغير request كائن لديه هذه الخصائص على سبيل المثال: request.url: والذي سيكون "/Hello.json" عند طلب هذا الإجراء المحدد request.method: والذي سيكون "GET" في هذه الحالة ، ومن هنا يأتي استدعاء app.get (). request.headers: مصفوفة من HTTP headers ، تحتوي على عناصر مثل request.headers.accept ، والتي يمكنك استخدامها لتحديد نوع المتصفح الذي قدم الطلب ، ونوع الاستجابات التي يمكنه التعامل معها ، وما إذا كان قادر على فهم ضغط HTTP أم لا ، إلخ. request.query: مصفوفة من معاملات سلسلة طلب البحث ، إن وجدت, على سبيل المثال /Hello.json?foo=bar request.query.foo يحتوي على السلسلة "bar". للرد على هذا الطلب ، يمكنك استخدام كائن response لبناء ردك كالمثال الآتي app.get('/Hello.json', function(request, response) { response.contentType('application/json'); var users = [ { name: 'Mohammed', age: '20' }, { name: 'Ali', age: '19' }, { name: 'Sami', age: '18' } ]; var usersJSON = JSON.stringify(users); response.send(usersJSON); }); 1 اقتباس
0 Ahmed Sharshar نشر 1 أغسطس 2021 أرسل تقرير نشر 1 أغسطس 2021 req: يحتوي هذا على شكل الطلب http الذي تقوم بارسالة اثناء التطبيق.ومن أجل استقبال الرد من الطلب السابق، تستخدم res والذي تحتوي على اجابة طلب ال http. يمكن اعادة تسمية هذه المتغيرات الي اي اسم تريده كما نرى في الكود التالي: app.get('/user/:id', function(request, response){ response.send('user ' + request.params.id); }); اما عن استخدامها داخل app.get فهو فقط بتمريرهم داخل الطلب كما نري في الكود التالي: app.get('/people.json', function(request, response) { // هنا توضح شكل المحتوى حتي يستطيع المتصفح فهمه // هذا هو شكل المحتوى على الشكل json response.contentType('application/json'); //في الطبيعي، يكون العائد من قاعدة بيانات، لكن هنا يمكننا ان نضعها بشكل يدوى حتى نوضح الفكرة var people = [ { name: 'Ahmed', location: 'Egypt' }, { name: 'Mohammed', location: 'Jordan' }, { name: 'mostafa', location: 'Sodan' } ]; // حيث أن الطلب المرسل على صيغه json // للتعامل مع البيانات القادمة JSON.stringify() يمكن أن نستخدم الدالة الداخلية var peopleJSON = JSON.stringify(people); // هنا يمكننا ارسال النتائج التي عادت الينا الي المتصفح لعرضها response.send(peopleJSON); }); اقتباس
0 MoJaffer نشر 1 أغسطس 2021 أرسل تقرير نشر 1 أغسطس 2021 req & res هي كائنات لتمرير طلب واستجابة HTTP req : هو كائن يحوي مجموعة من البيانات عند طلب HTTP مثل : parameters - queries - بيانات الحقول الكوكيز وغيرها res : تستخدم لإعادة ارسال الـ HTTP عند الإستتجابة عادة ما تكون بهذا الشكل : res.send, res.render, res.redirect اقتباس
السؤال
Tamim Fahed
يوجد معاملات أساسية مع كل طلب أو مسار في إطار العمل express.js وهما req , res :
app.get('/test/:data', function(req, res){ res.send('data: ' + req.params.data); });
ماهي وظيفة هذه المعاملات؟ وهل يمكنني تغيير اسمائها إلى شيء آخر؟ وهل استخدامها معاً ضروري أو يمكن الاستغناء عنها في هذا التابع function ؟
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.