2016-11-23 4 views
0

app.get('/logout', function (req, res) {
delete req.session.auth;
res.status(200).redirect('/');
});показывает сообщение, как предупреждение яваскрипта после выхода из системы

Я использую это для перенаправления страницы после выхода из системы. Мне нужно показать окно предупреждения при выходе из системы. Пожалуйста, предложите

+0

Пожалуйста, используйте Google: -/ – Blackbam

ответ

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

Я использую express framework – Aniket

+0

Какой механизм просмотра? –

Смежные вопросы