2017-03-21 2 views
1

wenn ich geben Fehlermeldung wie dieser es funktioniert gut ohne ProblemRangeError: Ungültiger Statuscode: 0 Fehler im Knoten, Express?

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

, aber wenn ich auf diese eine Änderung, die ich bin immer Fehler

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

ich bin immer Fehler wie diese

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) 

Antwort

3

Wenn Sie sich die ExpressJS-Quelle für res.status ansehen, werden Sie sehen, dass die Funktion eine Zahl erwartet, keine Zeichenfolge:

/** 
* 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

was kann ich tun .. jetzt, wenn ich dieses ‚EXTINF-10202‘ Statuscode –

+0

hinzufügen möchten, die keine gültige HTTP-Statuscode ist, würden Sie besser dran, den Code zu senden in Ihr JSON: 'res.json ({code: '' EXTINF-10202 '', Nachricht: 'nicht gefunden, bitte registrieren'})' –

+0

ok ich verstehe, aber ist es möglich, res.status zurückzugeben ('EXTINF-10202 ') .json ({ ' Nachricht ':' nicht gefunden, bitte registrieren ' }); –

Verwandte Themen