javascript - কিভাবে এক্সপ্রেশন/নোডের সাথে 404 টি প্রতিক্রিয়া পাঠানো হবে?




node.js express (4)

আমি আমার এক্সপ্রেস / নোড সার্ভারে একটি 404 ত্রুটি অনুকরণ করতে চাই। আমি এটা কিভাবে করবো?


এক্সপ্রেস 4.x জন্য আপডেট করা উত্তর

এক্সপ্রেস পুরানো সংস্করণের মতো res.send(404) ব্যবহার করার পরিবর্তে, নতুন পদ্ধতি হল:

res.sendStatus(404);

এক্সপ্রেস "পাওয়া যায় না" পাঠ্য সহ একটি খুব মৌলিক 404 প্রতিক্রিয়া পাঠাবে:

HTTP/1.1 404 Not Found
X-Powered-By: Express
Vary: Origin
Content-Type: text/plain; charset=utf-8
Content-Length: 9
ETag: W/"9-nR6tc+Z4+i9RpwqTOwvwFw"
Date: Fri, 23 Oct 2015 20:08:19 GMT
Connection: keep-alive

Not Found

আপনি এটি অনুকরণ করতে হবে না। res.send দ্বিতীয় যুক্তি আমি বিশ্বাস করি অবস্থা কোড। শুধু যে যুক্তি 404 পাস।

আমাকে স্পষ্ট করে দিন: expressjs.org এ ডকুমেন্টেশন অনুসারে মনে হচ্ছে যে res.send() পাস হওয়া কোন সংখ্যাটি স্ট্যাটাস কোড হিসাবে ব্যাখ্যা করা হবে। তাই টেকনিক্যালি আপনি দূরে পেতে পারে:

res.send(404);

সম্পাদনা: আমার খারাপ, আমি req পরিবর্তে res মানে। এটা প্রতিক্রিয়া বলা উচিত

সম্পাদনা: এক্সপ্রেস 4 হিসাবে, send(status) পদ্ধতিটি অব্যবহৃত হয়েছে। আপনি যদি এক্সপ্রেস 4 বা তার পরে ব্যবহার করেন তবে ব্যবহার করুন: res.sendStatus(404) পরিবর্তে। (মন্তব্যের জন্য টিপ @ ব্য্যাডিসি মন্তব্য)


এক্সপ্রেস সাইট থেকে , একটি নোটিফাউন্ড ব্যতিক্রম সংজ্ঞায়িত করুন এবং যখনই আপনি 404 পৃষ্ঠাটি পেতে চান বা নীচের ক্ষেত্রে / 404 এ পুনঃনির্দেশিত করেন তখন এটি নিক্ষেপ করুন:

function NotFound(msg){
  this.name = 'NotFound';
  Error.call(this, msg);
  Error.captureStackTrace(this, arguments.callee);
}

NotFound.prototype.__proto__ = Error.prototype;

app.get('/404', function(req, res){
  throw new NotFound;
});

app.get('/500', function(req, res){
  throw new Error('keyboard cat!');
});

প্রতিক্রিয়া অবজেক্টের জন্য আজকাল একটি ডেডিকেটেড status ফাংশন রয়েছে । আপনি send কল আগে শুধু কোথাও চেইন।

res.status(404)        // HTTP status 404: NotFound
   .send('Not found');




express