NodeJs で AngularJs を使用しています。
HTTP POST リクエストが成功したときに、ユーザーをリダイレクトする必要があるシナリオがあります。
クライアントで AngularJS を介して、ルートに HTTP POST リクエストを送信します。
$http.post('/aPath', data)
    .success(function (result) {
        //Handle success
    })
    .error(function (err) {
        //Handle error
    });
このルートは、実際の POST を実行する NodeJ 内で処理されます。成功すると、ルート ハンドラー内で次のようにリダイレクトします。
function handlePostRequest (req, res) {
    //Route handler
    //HTTP POST Request
    //Following code called when POST request is successful
    if (result) {
        //Successful post
        res.redirect("http://www.google.com");
    }
}
ただし、ブラウザは Google に移動しません。代わりに、AngularJS クライアント内の POST リクエストのエラー ハンドラで、コントロールに到達します。
サーバーを確認したところ、POST リクエストがステータス コード 302 として返され、クライアントの POST リクエストのエラー ハンドラによって選択されていることがわかりました。
サーバーがリダイレクトコードを正常に実行したときに、コントロールがまだクライアントに到達し、それもエラーハンドラーに到達する理由がわかりません。正常にリダイレクトするにはどうすればよいですか?