RangeError: Invalid code d'état: 0
Je rencontre un problème lorsque je reçois le code d'erreur suivant lorsque vous tentez une requête POST sur cette application (en gardant à l'esprit que je suis un débutant nœud.js/js programmeur):
Erreur:
[20:22:28] [nodemon] starting `node app.js`
Running server on 3000
Mon, 27 Jun 2016 19:22:31 GMT express deprecated res.send(status, body): Use res.status(status).send(body) instead at routes\edit.js:35:25
c:\Users\Matt\WebstormProjects\ghs_restart\node_modules\mongodb\lib\utils.js:98
process.nextTick(function() { throw err; });
^
RangeError: Invalid status code: 0
at ServerResponse.writeHead (_http_server.js:192:11)
at ServerResponse._implicitHeader (_http_server.js:157:8)
at ServerResponse.OutgoingMessage.end (_http_outgoing.js:573:10)
at ServerResponse.send (c:\Users\Matt\WebstormProjects\ghs_restart\node_modules\express\lib\response.js:204:10)
at ServerResponse.json (c:\Users\Matt\WebstormProjects\ghs_restart\node_modules\express\lib\response.js:249:15)
at ServerResponse.send (c:\Users\Matt\WebstormProjects\ghs_restart\node_modules\express\lib\response.js:151:21)
at c:\Users\Matt\WebstormProjects\ghs_restart\routes\edit.js:35:25
at c:\Users\Matt\WebstormProjects\ghs_restart\node_modules\mongodb\lib\collection.js:416:18
at handleCallback (c:\Users\Matt\WebstormProjects\ghs_restart\node_modules\mongodb\lib\utils.js:96:12)
at c:\Users\Matt\WebstormProjects\ghs_restart\node_modules\mongodb\lib\collection.js:705:5
app.js:
var express = require('express');
var router = express.Router();
var app = express();
var bodyParser = require('body-parser');
app.use( bodyParser.json() ); //to support JSON-encoded bodies
app.use(bodyParser.urlencoded({ //to support URL-encoded bodies
extended: true
}));
var path = require('path');
var port = process.env.PORT || 3000;
var index = require('./routes/index');
var edit = require('./routes/edit');
app.use('/', index);
app.use('/edit', edit);
app.use(express.static(path.join(__dirname, 'public')));
app.set('view engine', 'jade');
app.set('views', 'views');
app.listen(port, function (err) {
console.log("Running server on", port);
});
module.exports = index;
Ce qui suit est mon edit.js route, où je crois que le problème est survenu:
var express = require('express');
var router = express.Router();
var app = express();
var bodyParser = require('body-parser');
app.use( bodyParser.json() ); //to support JSON-encoded bodies
app.use(bodyParser.urlencoded({ //to support URL-encoded bodies
extended: true
}));
var path = require('path');
var port = process.env.PORT || 3000;
var index = require('./routes/index');
var edit = require('./routes/edit');
app.use('/', index);
app.use('/edit', edit);
app.use(express.static(path.join(__dirname, 'public')));
app.set('view engine', 'jade');
app.set('views', 'views');
app.listen(port, function (err) {
console.log("Running server on", port);
});
module.exports = index;
Je suppose que c'est une erreur à l'intérieur d'un rappel, mais je ne suis pas sûr.
Pouvez-vous mettre à jour votre question avec le bon exemple de code pour
Pouvez-vous mettre à jour votre question avec le bon exemple de code pour
edit.js
? Semble que vous avez collé app.js
.
OriginalL'auteur Matt | 2016-06-27
Vous devez vous connecter pour publier un commentaire.
J'ai eu un message d'erreur similaire tout à l'heure et a réussi à résoudre le problème en modifiant:
:
ou tout simplement:
I. e. assurez-vous de ne pas essayer de mettre un non valide le code d'état HTTP quelque part.
C'est probablement ce qui est de la question, mais il semble que vous avez accidentellement dupliqué le
app.js
code au lieu de coller leedit.js
code dans la question.Résolu mon problème! merci!
Lorsque utilisé statusCode, il l'a jeté ReferenceError
statusCode doit d'abord être défini. I. e.
var statusCode = 200;
Utiliser n'importe quel code est adapté à votre situation.OriginalL'auteur Bavell
Ce cas également se produire quand nous avons des erreurs de validation sur le formulaire de sauver et nous sommes à l'aide de res.redirection au lieu de res.méthode render
par exemple-
Veuillez Utiliser
au lieu de (fausse déclaration pour le nœud)
OriginalL'auteur SohanLal Saini