ExpressJS: res.redirect () ne fonctionne pas comme prévu?

J'ai eu du mal pendant 2 jours, sur ce point, googlé et stackoverflowed tout ce que je pouvais, mais je ne peux pas travailler.

Je suis en train de construire un simple noeud d'application (+Express + Mangouste) avec une page de connexion qui redirige vers la page d'accueil. Voici mon serveur de Café de code :

app
     .get '/', (req, res) ->
         console.log "Here we are : root"
         res.sendfile(__dirname + '/index.html')


     .get '/login', (req, res) ->
         console.log "Here we are : '/login'"
         res.sendfile(__dirname + '/login.html')


     .post '/credentials', (req, res) ->
         console.log "Here we are : '/credentials'"

         # (here comes credentials validation stuff with Mongoose)

         res.redirect '/'

La page de connexion fait une requête POST /informations d'identification, où les données publiées sont vérifiées. Les travaux de cette. Je peux voir "Ici, nous sommes : '/informations d'identification" dans le Nœud de la console.

Puis vient la question : la res.redirection ne fonctionne pas correctement. Je sais qu'elle ne parvenir à un '/' route, parce que :

  1. Je peux voir "Ici, nous sommes : racine" dans le Nœud de la console
  2. L'index.html la page est envoyée au navigateur qu'une reponse, mais ne sont pas affichés dans la fenêtre.
    Chrome inspecteur affiche la requête POST de réponse, je PEUX voir le code HTML envoyé au navigateur de l'inspecteur, mais l'URL reste /de connexion et la page de connexion est toujours affiché sur l'écran.

(Edit) La redirection est dans la Mangouste de la fonction de rappel, il n'est pas synchrone (NodeJS). J'ai juste enlevé la Mangouste de validation des trucs pour plus de clarté.

J'ai essayé d'ajouter res.end()ne fonctionne pas

J'ai essayé

req.method = 'get'; 
res.redirect('/');

et

res.writeHead(302, {location: '/'});
res.end();

Ne fonctionne pas

Ce que je fais mal? Comment puis-je réellement quitter le '/login' page', rediriger le navigateur de '/' et afficher le code HTML qu'il a reçu?

Un million de mercis pour votre aide d'avance 🙂

source d'informationauteur Jeremy Thille