• 0

إعادة التوجيه إلى الصفحة 404 ضمن express في node.js

أقوم باستخدام إطار العمل express وأرغب بإعادة توجيه المستخدم إلى قالب عدم العثور على الصفحة أو 404. فهل هنالك تابع  محدد أو مسار يمكنني استخدامه في express.js لتحقيق ذلك؟

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1

يجب عليك أولا تحديد جميع المسارات الخاصة بالمشروع وفي النهاية تضيف المسار 404 كالتالي

app.get('*', function(req, res){
  res.status(404).send('404');
});

على سبيل المثال

var express = require('express'),
    app = express.createServer();

app.use(express.static(__dirname + '/public'));

app.get('/', function(req, res){
  res.send('hello world');
});


app.get('*', function(req, res){
  res.send('404', 404);
});

app.listen(3000, '127.0.0.1');

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1

تتم إضافة المسار التالي في الأسفل بعد كتابة جميع المسارات الموجودة في مشروعك، وفي حال تمت زيارة مسار غير موجود يتم الدخول إلى هذا المسار ومعالجة الخطأ 404:

app.get('*', function(req, res){
  res.status(404).send('not found');
});

أما من ناحية إرسال الخطأ، فيوجد عدة طرق وهي كالتالي:

app.use(function(req, res, next) {
  res.status(404);

  // الرد بإرسال صفحة HTML
  if (req.accepts('html')) {
    res.render('404', { url: req.url });
    return;
  }

  // إرسال الرد بصيغة JSON
  if (req.accepts('json')) {
    res.json({ error: 'Not found' });
    return;
  }

  // إرسال الرد بصيغة نصية
  res.type('txt').send('Not found');
});

أما في حال أردت إرسال الخطأ 404 بعد معالجة معيّنة ضمن تابع ما أو متحكّم خاص، يمكنك إرسال الخطأ مباشرةً ضمن التابع من خلال:

res.status(404).send('not found')

وعندها يمكنك استقبال هذا الخطأ من طرف المستخدم وتنفيذ إعادة التوجيه من طرف المستخدم بدلاً من الخادم.

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

بكل سهولة بإمكانك اضافة مسار في النهاية بهذا الشكل 

app.use('*', (req, res) => res.render('YOUR_TEMPLET_NAME') );

 

تمّ تعديل بواسطة MoJaffer

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن