2016-11-23 71 views

回答

0

也許您可以將參數發送到重定向頁面,並在該頁面上評估該參數是否存在以顯示相應的警報:

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

,你可以這樣做:

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... 
    }); 
} 

這取決於你所使用的視圖引擎,您可能適應。

另一個選項,不是重定向,而是在服務器中通過ajax發送註銷請求,並在銷燬會話後以「ok」或「1」狀態響應。然後,評估ajax響應,以便在同一頁面中顯示警報,並在前端實現所有相應的邏輯(如清除所有表單,只有當活動會話存在時才顯示的信息等)。

快遞:

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

在前面(假設你使用jQuery):

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

這取決於什麼是更容易爲你acomplish,在自己的網頁和邏輯要求。

+0

你能解釋一下嗎? – Aniket

+0

用代碼示例編輯我的答案。希望它使它更易於理解。 – adonike

0

這取決於你使用什麼軟件包。你沒有說明,所以我會給我的兩分錢用EJS方法 如果你使用connect-flash它的那樣簡單:

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

然後當你渲染它檢查這樣的變量:

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

或者你可以渲染頁面,並沿作爲JSON對象傳遞數據:

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

又在HTML檢查的變量傳遞。 看看res對象,看看它的能力以及你使用的外觀,看看數據如何被解釋。

+0

我使用快遞框架 – Aniket

+0

什麼視圖引擎? –