2016-11-23 7 views

答えて

0

リダイレクトされたページにパラメータを送信し、そのページでパラメータが存在するかどうかを評価して、対応するアラートを表示することができます。あなたは、この使用しているビューエンジンに応じて適合させることができる

app.get('/', function(req, res) { 

    var message; 

    if(req.query.msg){ 
    message = req.query.msg; 
    } 

    // other logic here... 

    res.send(message); // or res.render('index', { msg: message, //other properties... 
    }); 
} 

:「/」ロジックで

app.get('/logout', function (req, res) { 
    delete req.session.auth; 
    res.status(200).redirect('/?msg=session%20destroyed'); 
}); 

、あなたのような何かを行うことができます。

別のオプションでは、リダイレクトする代わりに、セッションを破棄した後、サーバーでajaxを介してログアウト要求を 'ok'または '1'ステータスで送信します。次に、同じページにアラートを表示し、すべてのフォームをクリアする、アクティブなセッションが存在する場合にのみ利用可能な情報を表示するなど、すべての対応するロジックを前面に実装するために、ajaxレスポンスを評価します。

エクスプレス:フロントで

app.get('/logout', function (req, res) { 
    delete req.session.auth; 
    res.status(200).send('1'); 
}); 

(あなたはjQueryのを使用していると仮定):それはあなたがacomplishするために、あなたのページとあなたの中のロジックより簡単だかに依存し

$.get('/logout', function(response){ 
    if(response == '1'){ 
    alert('Successfully logged out!'); 
    // Destroy DOM objects that should not be still available. 
    } 
}); 

要件。

+0

説明してください。 – Aniket

+0

コードサンプルで自分の答えを編集しました。それがより理解しやすくなることを願っています。 – adonike

0

これは、使用するパッケージによって異なります。あなたはそれがこのような変数をチェックレンダリングするときに

app.get('/logout', function(req, res) { 
     delete req.session.auth; 
     req.flash('message', 'YourMessageHere') 
     res.redirect('/login'); 
}); 

そして:あなたはconnect-flashとしてそのような単純なを使用する場合、私はEJSアプローチ と私の2セントをあげるので、それを述べていない

<div> 
    <%if(message){%> 
     <%= message%> 
    <% } %> 
</div> 

それとも、ページをレンダリングし、JSONオブジェクトなどに沿ってデータを渡すことができますに渡される変数のHTMLチェックで

app.get('/logout', function(req, res) { 
      delete req.session.auth; 
      res.render('./link/to/html/file', {message: 'Your Message here'}); 
    }); 

そして再び。 resオブジェクトを見て、どのようなフレームワークを使用しているかを見て、データの解釈方法を見てください。

+0

私はエクスプレスフレームワークを使用しています – Aniket

+0

どのようなビューエンジンですか? –