Nodejs : URL de Redirection
Je suis en train de rediriger l'url de mon application dans node.js de cette façon:
//response comes from the http server
response.statusCode = 302;
response.setHeader("Location", "/page");
response.end();
Mais la page en cours est mélangé avec le nouveau, il semble étrange 😐 Ma solution regardé totalement logique, je ne sais pas vraiment pourquoi cela arrive, mais si je recharge la page, après la redirection, il fonctionne.
De toute façon, quelle est la bonne manière de faire les redirections HTTP nœud?
Avez-vous essayé d'envoyer quelque chose dans le corps de la réponse?
response.setHeader('Content-Type', 'text/plain'); response.end('<p>302. Redirecting to xxx.com</p>');
OriginalL'auteur Adam | 2011-06-04
Vous devez vous connecter pour publier un commentaire.
Ressemble à exprimer le fait assez bien la façon dont vous avez. De ce que je peux voir les différences sont qu'ils poussent certains corps contenu et à l'utilisation d'une url absolue.
Voir la réponse expresse.méthode de redirection:
https://github.com/visionmedia/express/blob/master/lib/response.js#L335
OriginalL'auteur Geoff Chappell
Oui il doit être pleine url dans
setHeader
.OriginalL'auteur Kamrul
Ce qui se passe si vous la changez pour 307 à la place?
J'ai changé ma réponse ensuite.
OriginalL'auteur jcolebrand
OriginalL'auteur Brad
Ce problème peut également dépendre du type de demande en cours de traitement. Une requête POST ne peut pas être redirigé à l'aide de l'en-tête. Par exemple, un visiteur à partir de votre application en FB sera plus susceptible d'être venue par l'intermédiaire d'une "demande signée" POSTE et donc une redirection ne fonctionne pas.
OriginalL'auteur Rob