2017-03-21 7 views
1

私はこのようなエラーメッセージを与えれば、それは問題なくRangeError:無効なステータスコード:ノードに0のエラーがありますか?

res.status(401).send('not found, please register'); 

を正常に動作しますが、私はエラー

return res.status('EXTINF-10202').json({ 
       'message': 'not found, please register' 
      }); 

を取得しています。この1に変更したときに、私はこの

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) 
のようなエラーを取得しています

答えて

3

ExpressJSのソースres.statusを見ると、関数は文字列ではなく数値を期待しています。

/** 
* Set status `code`. 
* 
* @param {Number} code 
* @return {ServerResponse} 
* @public 
*/ 

res.status = function status(code) { 
    this.statusCode = code; 
    return this; 
}; 

https://github.com/expressjs/express/blob/9722202df964bfbfc0f579e4baeb5a4e1b43b344/lib/response.js#L57-L68

+0

私が今できること..私は、有​​効なHTTPステータスコードではありませんこの「EXTINF-10202」ステータスコード –

+0

を追加したい場合は、内のコードを送信したほうが良いでしょうあなたのJSON: 'res.json({code: '' EXTINF-10202 ''、メッセージ: '見つかりませんでした、登録してください') –

+0

私は理解しましたが、返すことが可能ですres.status( 'EXTINF-10202 ').json({ 'メッセージ ':'が見つかりません、 ' }を登録してください); –

関連する問題