没有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);