RangeError:无效状态代码:节点中有0个错误,表示吗? [英] RangeError: Invalid status code: 0 error in node, express?
本文介绍了RangeError:无效状态代码:节点中有0个错误,表示吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果我给出这样的错误消息,它将正常工作而不会出现问题
if i give error message like this it working fine without problem
res.status(401).send('not found, please register');
但是当我改成这个我就出错了
but when i change to this one i am getting error
return res.status('EXTINF-10202').json({
'message': 'not found, please register'
});
我遇到这样的错误
F:\test\node_modules\mongoose\node_modules\mongodb\lib\utils.js:97
process.nextTick(function() { throw err; });
^
RangeError: Invalid status code: 0
at ServerResponse.writeHead (_http_server.js:192:11)
at ServerResponse.writeHead (F:\test\node_modules\on-headers\index.js:
55:19)
at ServerResponse.res.writeHead (F:\test\node_modules\express-session\
index.js:169:17)
at ServerResponse._implicitHeader (_http_server.js:157:8)
at ServerResponse.res.write (F:\test\node_modules\compression\index.js
:90:14)
at ServerResponse.res.end (F:\test\node_modules\compression\index.js:1
11:14)
at F:\test\node_modules\express-session\index.js:182:13
at F:\test\node_modules\connect-mongo\lib\connect-mongo.js:365:9
at handleCallback (F:\test\node_modules\mongoose\node_modules\mongodb\
lib\utils.js:95:12)
at F:\test\node_modules\mongoose\node_modules\mongodb\lib\collection.j
s:666:5
at F:\test\node_modules\mongoose\node_modules\mongodb-core\lib\topolog
ies\server.js:795:13
at Callbacks.emit (F:\test\node_modules\mongoose\node_modules\mongodb-
core\lib\topologies\server.js:94:3)
at Connection.messageHandler (F:\test\node_modules\mongoose\node_modul
es\mongodb-core\lib\topologies\server.js:235:23)
at Socket.<anonymous> (F:\test\node_modules\mongoose\node_modules\mong
odb-core\lib\connection\connection.js:259:22)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
推荐答案
如果查看res.status
的ExpressJS源代码,您会发现该函数需要数字而不是字符串:
If you take a look at the ExpressJS source for res.status
you will see that the function expects a Number, not a String:
/**
* Set status `code`.
*
* @param {Number} code
* @return {ServerResponse}
* @public
*/
res.status = function status(code) {
this.statusCode = code;
return this;
};
这篇关于RangeError:无效状态代码:节点中有0个错误,表示吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文