كائنات الطلب والاستجابة Express.js هي معلمات وظيفة رد الاتصال المستخدمة في تطبيقات Express.
يمثل كائن طلب Express.js طلب HTTP وله خصائص لسلسلة استعلام الطلب والمعلمات والنص ورؤوس HTTP وما إلى ذلك.
بناء الجملة:
app.get('/', function (req, res) { // -- })
Express.js طلب خصائص الكائن
يحدد الجدول التالي بعض الخصائص المرتبطة بكائن الطلب.
فِهرِس | ملكيات | وصف |
---|---|---|
1. | req.app | يُستخدم هذا للاحتفاظ بمرجع إلى مثيل التطبيق السريع الذي يستخدم البرنامج الوسيط. |
2. | req.baseurl | فهو يحدد مسار URL الذي تم تثبيت مثيل جهاز التوجيه عليه. |
3. | req.body | يحتوي على أزواج من البيانات ذات القيمة الرئيسية المقدمة في نص الطلب. بشكل افتراضي، يكون غير محدد، ويتم ملؤه عند استخدام البرامج الوسيطة لتحليل الجسم مثل محلل الجسم. |
4. | req.cookies | عندما نستخدم البرمجيات الوسيطة لمحلل ملفات تعريف الارتباط، فإن هذه الخاصية عبارة عن كائن يحتوي على ملفات تعريف الارتباط المرسلة بواسطة الطلب. |
5. | req.fresh | ويحدد أن الطلب 'جديد'. وهو عكس req.stale. |
6. | req.hostname | يحتوي على اسم المضيف من رأس http 'المضيف'. |
7. | req.ip | وهو يحدد عنوان IP البعيد للطلب. |
8. | req.ips | عندما يكون إعداد وكيل الثقة صحيحًا، تحتوي هذه الخاصية على مجموعة من عناوين IP المحددة في ملف ?x-forwarded-for? رأس الطلب. |
9. | req.originalurl | هذه الخاصية تشبه إلى حد كبير req.url؛ ومع ذلك، فإنه يحتفظ بعنوان URL الأصلي للطلب، مما يسمح لك بإعادة كتابة req.url بحرية لأغراض التوجيه الداخلي. |
10. | req.params | كائن يحتوي على خصائص تم تعيينها إلى المسار المسمى 'المعلمات'. على سبيل المثال، إذا كان لديك المسار /user/:name، فإن خاصية 'name' تكون متاحة باسم req.params.name. هذا الكائن الافتراضي هو {}. |
أحد عشر. | req.path | يحتوي على جزء المسار من عنوان URL للطلب. |
12. | req.protocol | سلسلة بروتوكول الطلب، 'http' أو 'https' عند طلبها باستخدام TLS. |
13. | req.query | كائن يحتوي على خاصية لكل معلمة سلسلة استعلام في المسار. |
14. | req.route | المسار المطابق حاليًا، سلسلة. |
خمسة عشر. | req.secure | قيمة منطقية تكون صحيحة في حالة إنشاء اتصال TLS. |
16. | req.signedcookies | عند استخدام البرامج الوسيطة لمحلل ملفات تعريف الارتباط، تحتوي هذه الخاصية على ملفات تعريف ارتباط موقعة مرسلة حسب الطلب، وغير موقعة وجاهزة للاستخدام. |
17. | req.stale | فهو يشير إلى ما إذا كان الطلب 'قديمًا'، وهو عكس req.fresh. |
18. | req.subdomains | وهو يمثل مجموعة من النطاقات الفرعية في اسم مجال الطلب. |
19. | req.xhr | قيمة منطقية تكون صحيحة إذا كان حقل رأس الطلب 'x-requested-with' هو 'xmlhttprequest'، مما يشير إلى أن الطلب تم إصداره بواسطة مكتبة عميل مثل jQuery |
طلب أساليب الكائن
فيما يلي قائمة ببعض أساليب كائن الطلب المستخدمة بشكل عام:
req.accepts (الأنواع)
يتم استخدام هذه الطريقة للتحقق مما إذا كانت أنواع المحتوى المحددة مقبولة، استنادًا إلى حقل رأس قبول HTTP الخاص بالطلب.
أمثلة:
req.accepts('html'); //=>?html? req.accepts('text/html'); // => ?text/html?
طلب.get(حقل)
تقوم هذه الطريقة بإرجاع حقل رأس طلب HTTP المحدد.
أمثلة:
req.get('Content-Type'); // => 'text/plain' req.get('content-type'); // => 'text/plain' req.get('Something'); // => undefined
req.is (نوع)
ترجع هذه الطريقة صحيحًا إذا كان حقل رأس HTTP الخاص بالطلب الوارد 'نوع المحتوى' يتطابق مع نوع MIME المحدد بواسطة معلمة النوع.
أمثلة:
// With Content-Type: text/html; charset=utf-8 req.is('html'); req.is('text/html'); req.is('text/*'); // => true
req.param(الاسم [، القيمة الافتراضية])
يتم استخدام هذه الطريقة لجلب قيمة الاسم المعلمة عند وجودها.
أمثلة:
// ?name=sasha req.param('name') // => 'sasha' // POST name=sasha req.param('name') // => 'sasha' // /user/sasha for /user/:name req.param('name') // => 'sasha'