8

Node.js (プレーン node.js) でユーザーをあるページから別のページにリダイレクトしたい

実際のシナリオ: サインアップ後 (example.com/sigup)、サインアップが成功した後、ユーザーをログイン ページ (example.com/login) にリダイレクトしたいと考えています。

if (signUpSuccessful(request, response)) {    
    // I want to redirect to "/login" using request / response parameters.
}
4

3 に答える 3

11

それは簡単です:

if (signUpSuccessful(request, response)) {
    response.statusCode = 302; 
    response.setHeader("Location", "/login");
    response.end();
}

これにより、ユーザーがステータス/login付きの URLにリダイレクトされ、応答が終了します。302 Found以前に呼び出していないことを確認してくださいresponse.write()。そうしないと、例外がスローされます。

于 2013-07-17T16:19:01.947 に答える
4

これを行う最も簡単な方法は、302 ステータス コードと場所フィールドをターゲット URL と共に使用することです。

HTTP 応答ステータス コード 302 Found は、リダイレクトを実行する一般的な方法です。

このステータス コードを含む HTTP 応答は、Location ヘッダー フィールドに URL を追加で提供します。ユーザー エージェント (Web ブラウザーなど) は、このコードを含む応答によって招待され、場所フィールドで指定された新しい URL に対して 2 番目の (それ以外は同一の) 要求を行います。HTTP/1.0 仕様 (RFC 1945) はこのコードを定義し、「Moved Temporarily」という説明句を与えています。

出典:ウィキペディア

res.statusCode = 302;
res.setHeader("Location", '/login');
res.end();
于 2013-07-17T16:20:08.750 に答える
0

より簡単な方法:

res.redirect(307, '/login');

詳細については、この投稿の回答をご覧ください

于 2016-11-10T05:24:26.280 に答える