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




node.js express (4)

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

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

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


আপনি এটি অনুকরণ করতে হবে না। 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!');
});

সাইটের মতে আমি নীচের পোস্ট করব, এটিই আপনার সার্ভার সেটআপ করা সবই। এক উদাহরণ তারা দেখায়:

var http = require("http");
var url = require("url");

function start(route, handle) {
  function onRequest(request, response) {
    var pathname = url.parse(request.url).pathname;
    console.log("Request for " + pathname + " received.");

    route(handle, pathname, response);
  }

  http.createServer(onRequest).listen(8888);
  console.log("Server has started.");
}

exports.start = start;

এবং তাদের রুট ফাংশন:

function route(handle, pathname, response) {
  console.log("About to route a request for " + pathname);
  if (typeof handle[pathname] === 'function') {
    handle[pathname](response);
  } else {
    console.log("No request handler found for " + pathname);
    response.writeHead(404, {"Content-Type": "text/plain"});
    response.write("404 Not found");
    response.end();
  }
}

exports.route = route;

এই এক উপায়। http://www.nodebeginner.org/

অন্য সাইট থেকে, তারা একটি পৃষ্ঠা তৈরি করে এবং তারপর লোড করে। আপনি যা খুঁজছেন তা আরো হতে পারে।

fs.readFile('www/404.html', function(error2, data) {
            response.writeHead(404, {'content-type': 'text/html'});
            response.end(data);
        });

http://blog.poweredbyalt.net/?p=81





express