اذهب إلى المحتوى

السؤال

نشر

سلام عليكم

حاولت اطبق ال http فى هذا المثال لكن ظهرت لى مشكلة عند عمل run للكود

فاين المشكلة ؟

const http = require('http')
const server = http.createServer((req, res) => {
     if (req.url === '/') {
     res.end('Welcome to our home page')
    }
    if (req.url === '/about') {
     res.end('Here is our short history')
    }
    res.end(`
    <h1>Oops!</h1>
    <p>We can't seem to find the page you are looking for</p>
    <a href="/">back home</a>
    `)
})
server.listen(5000)

 

Untitled.png

فى الاول لما اعمل رن بشتغل معاى وبعرض لى النص كما فى الصورة ادناه وبعدها يظهر لى الايرور الذى ارسلته لكم فى الاعلى ولم يعرض لى الرسالة 

Untitled.png

Recommended Posts

  • 0
نشر

المشكلة في حال طابق الطلب أي من المسارين "/" و "about/" سيتم إرسال رد للعميل، ولن ينتهي التنفيذ وسيتم محاولة ارسال الرد الموجود في نهاية التابع وهذا ينتج خطأ لأنه تم ارسال رد سابق للعميل وانتهى الاتصال

الحل يكون بانهاء تنفيذ التابع (باستخدام return) عند أول إرسال لرد كالتالي:

const server = http.createServer((req, res) => {
    if (req.url === '/') {
     return res.end('Welcome to our home page')
    }
    if (req.url === '/about') {
     return res.end('Here is our short history')
    }
    res.end(`
      <h1>Oops!</h1>
      <p>We can't seem to find the page you are looking for</p>
      <a href="/">back home</a>
    `)
})

أو وضع الردود في سلسلة if else حيث تضمن تنفيذ رد واحد فقط كالتالي:

const server = http.createServer((req, res) => {
    if (req.url === '/') {
     res.end('Welcome to our home page')
    }
    else if (req.url === '/about') {
     res.end('Here is our short history')
    }
    else {
      res.end(`
        <h1>Oops!</h1>
        <p>We can't seem to find the page you are looking for</p>
        <a href="/">back home</a>
      `)
    }
})

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...