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

السؤال

Recommended Posts

  • 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
نشر

تتم إضافة المسار التالي في الأسفل بعد كتابة جميع المسارات الموجودة في مشروعك، وفي حال تمت زيارة مسار غير موجود يتم الدخول إلى هذا المسار ومعالجة الخطأ 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')

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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...