Express redirection erreur: ne peut pas définir les en-têtes une fois qu'ils sont envoyés

Lorsque ce code frappe la redirection ligne il jette le 'ne Peut pas définir les en-têtes une fois qu'ils sont envoyés erreur" et n'a pas de redirection. Je suis coupable de ne pas comprendre pleinement les en-têtes et comment express travaille avec eux. Ce lien à propos de cette erreur est source de confusion, un peu de moi, sans doute parce que je n'ai pas une base suffisamment de compréhension de ce qui se passe. Aussi, je sais c'est un peu d'une approche naïve pour l'authentification, mais je suis juste essayer d'obtenir des choses de base pour le travail.

    app.post('/api/login', function(req, res) {
    if (req.body.password === auth.password) {
        auth.date = new Date()
        res.redirect('/admin')
      } else {
        console.log("wrong pw")
      }
    })

Mise à JOUR : merci à @Brendan Ashworth j'ai raté une évidente d'autre, que j'ai ajouté maintenant et n'a plus l'erreur.

Cependant, cette ligne ne modifie pas le contenu de ma page

res.sendfile('./public/admin/views/tunes.html')

Il a travaillé avant j'ai enveloppé avec l'auth vérifier

var auth = require('../config/auth')

module.exports = function(app) {

/*
 *  CONTENT API
 */

 //...

/*
 *  Admin Routes
 */
app.get('/admin/login', function(req, res) {
    res.sendfile('./public/admin/views/login.html')
})

app.post('/api/login', function(req, res) {
    if (req.body.password === auth.password) {
        auth.date = new Date()
        res.redirect('/admin')
    } else {
        res.json({message: 'Wrong password!'})
    }
})

app.get('/admin', function(req, res) {
    if (auth.date) {
        res.sendfile('./public/admin/views/tunes.html')
        console.log("test") //
    } else { //added else
      res.redirect('/admin/login')
    }
})

app.get('/admin/:url', function(req, res) {
    if (auth.date) {
        res.sendfile('./public/admin/views/' + req.params.url + '.html')
    } else { //added else
      res.redirect('/admin/login')
    }
})

//frontend routes 
//route to handle all angular requests
app.get('*', function(req, res) {
    res.sendfile('./public/views/index.html') 
})

}

DERNIÈRE MISE À JOUR!! La dernière chose dont j'avais besoin était de gérer la redirection côté client après l'envoi du fichier. L'authentification Simple fonctionne parfaitement maintenant!

    $http.post('/api/login', $scope.auth).success(function() {
        window.location.href = '/admin'
    })
Pouvez-vous montrer le reste de votre parcours et de middleware? Aussi, il est intéressant de noter que si les res.corps.le mot de passe n'est pas égale auth.le mot de passe, que vous n'aurez jamais d'envoyer une réponse, dans le code que vous avez posté.
Avez-vous une autre route ou middleware avant ce qui demande res.writeHead(), res.send(), res.write(), ou quelque chose de similaire?
Merci, changé de console.journal de res.json, également inclus plus codées

OriginalL'auteur azium | 2014-10-14