2016-05-22 21 views
2

Ich habe diesen seltsamen Fehler in meiner Anwendung. Wie Sie in der package.json sehen können, ist die express Version>4.x.Unbehandelt Ablehnung TypeError: res.sendStatus ist keine Funktion

{ 
    "name": "MyAPI", 
    "version": "1.0.0", 
    "private": true, 
    "scripts": { 
    "start": "node ./bin/www" 
    }, 
    "dependencies": { 
    "bcrypt": "^0.8.6", 
    "body-parser": "~1.13.2", 
    "cookie-parser": "~1.3.5", 
    "debug": "~2.2.0", 
    "express": "~4.13.1", 
    "jade": "~1.11.0", 
    "morgan": "~1.6.1", 
    "pg": "^4.5.5", 
    "pg-hstore": "^2.3.2", 
    "sequelize": "^3.23.2", 
    "sequelize-cli": "^2.4.0", 
    "serve-favicon": "~2.3.0", 
    "validator": "^5.2.0" 
    } 
} 

Hier ist der Quellcode

'use strict'; 
var express = require('express'); 
var router = express.Router(); 
var version = require('../package.json').version; 
var sequelize = require('sequelize'); 

var userAccounts = require('../models').user_account; 

router.post('/v' + version + '/register', function (res, req, next) { 
    userAccounts.create(req.body).then(function() { 
     next(); 
     return res.sendStatus(200).send({ message: ":D" }); 
    }); 
}); 

module.exports = router; 

Ich habe auch versucht die sendStatus-status zu ändern, aber der Fehler sagt dasselbe über zu status. Warum bekomme ich diese Fehler?

+1

Es ist nicht eckig. Die Reihenfolge der Argumente hat einen Mittelwert. –

Antwort

5

Die Argumente res und req der Express-Handler-Funktion sind in falscher Reihenfolge. Sie sollten sein:

function (req, res, next) {}

+0

haha ​​Ich fühle mich wie ein Idiot ... vielen Dank! –