最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

没有ExpressJs,无法设置响应状态代码

IT培训 admin 3浏览 0评论

没有ExpressJs,无法设置响应状态代码

无法在node.js 8.9中设置响应状态代码(在尝试2小时后)

尝试:res.statusCode = 404;res.writeHead(404,{});两个都没有用。

注意:不使用expressJs

Sample Code

var http = require('http');

//create a server object:
http.createServer(function (req, res) {
try{
  res.write('Hie !'); //write a response to the client
  res.statusCode = 404;
  //res.writeHead(404,{});
  res.end(); //end the response
}catch(e){
  console.error(e);
}
}).listen(8080); //the server object listens on port 8080

注意:不使用expressJs

回答如下:

非常简单,在向响应流写入任何内容之前必须设置statusCode,因为否则它是一个隐式的200代码。

此外,你应该知道你的try ... catch块在这样的回调场景中是无用的,除非你正在做一些可能失败的同步代码。

如果您将代码更新为以下代码,它将起作用:

var http = require('http');

//create a server object:
http.createServer(function (req, res) {
  res.statusCode = 404;
  res.write('Hi!'); //write a response to the client
  res.end(); //end the response
}).listen(8080); //the server object listens on port 8080

你也可以使用ES6语法,由于各种原因,有些人更喜欢这种语法:

const http = require('http');

http.createServer((req, res) => {
    res.statusCode = 404;
    res.write('Hi!');

    res.end();

}).listen(8080);

没有ExpressJs,无法设置响应状态代码

无法在node.js 8.9中设置响应状态代码(在尝试2小时后)

尝试:res.statusCode = 404;res.writeHead(404,{});两个都没有用。

注意:不使用expressJs

Sample Code

var http = require('http');

//create a server object:
http.createServer(function (req, res) {
try{
  res.write('Hie !'); //write a response to the client
  res.statusCode = 404;
  //res.writeHead(404,{});
  res.end(); //end the response
}catch(e){
  console.error(e);
}
}).listen(8080); //the server object listens on port 8080

注意:不使用expressJs

回答如下:

非常简单,在向响应流写入任何内容之前必须设置statusCode,因为否则它是一个隐式的200代码。

此外,你应该知道你的try ... catch块在这样的回调场景中是无用的,除非你正在做一些可能失败的同步代码。

如果您将代码更新为以下代码,它将起作用:

var http = require('http');

//create a server object:
http.createServer(function (req, res) {
  res.statusCode = 404;
  res.write('Hi!'); //write a response to the client
  res.end(); //end the response
}).listen(8080); //the server object listens on port 8080

你也可以使用ES6语法,由于各种原因,有些人更喜欢这种语法:

const http = require('http');

http.createServer((req, res) => {
    res.statusCode = 404;
    res.write('Hi!');

    res.end();

}).listen(8080);
发布评论

评论列表 (0)

  1. 暂无评论