changement d'url sur res.redirection en expressjs
app.get('/logout', function (req, res){
req.url='/';
console.log('req.url is ' + req.url);
req.session.state = null;
res.redirect('/login');
});
lors de la redirection, l' 'url' reste le même. Je veux changer aussi. Que j'ai essayé de le faire à l'aide req.url. Mais cela ne se reflète pas sur la barre d'url. Comment voulez-vous changer cela?
Remarque:- je suis en utilisant Angularjs Routage de sorte que le res.redirect
n'est pas automatiquement la mise à jour de l'url.
Edit:-
Angulaire Code:-
$http({method: 'GET', url: '/logout'}).
success(function(data, status, headers, config) {
console.log('happened');
}).
error(function(data, status, headers, config) {
//called asynchronously if an error occurs
//or server returns response with an error status.
});
Êtes-vous naviguer dans le navigateur pour
mettre en place le montage:- son avec $service http.
Dans ce cas, vous avez besoin pour effectuer la redirection interne Angulaire.
/logout
directement, ou avec quelque chose comme $http
?mettre en place le montage:- son avec $service http.
Dans ce cas, vous avez besoin pour effectuer la redirection interne Angulaire.
OriginalL'auteur Sangram Singh | 2013-10-28
Vous devez vous connecter pour publier un commentaire.
Par défaut
res.redirect
enverra une réponse avec un code d'état 302 et un en-tête location avec l'URL d'appel de la fonction avec. Si dans votre cas, quelque chose comme:Vous aurez besoin pour gérer cela sur le AngularJS côté pour changer l'URL.
Parce que vous êtes à l'aide de $http, vous aurez besoin de gérer la réponse 302 dans le succès de rappel. Je ne sais pas vraiment Anguleux, mais je pense que vous pouvez cocher la case
status
argument pour voir si elle est de 302 et obtenir l'emplacement de l'en-tête large de laheaders
argument et faire quelque chose comme$location.url(headers.Location)
.Vous ne savez pas si cette réponse est obsolète parce que res.redirection permet de spécifier le code d'état maintenant. Il suffit de ne
res.redirect(301, '/login')
OriginalL'auteur Brett