2017-06-04 8 views
0

をtoastjs。メッセージは大丈夫です。問題は、エラーメッセージを渡す方法が見つからないということです。私は、フラッシュメッセージをやるに接続し、フラッシュを使用してから、私はトースターにメッセージを渡したいです。ノード - EJS - ディスプレイが、私は、ライブラリToastrJSを使用してトーストメッセージを表示しようとしているメッセージ

マイEJSコード:

:私も接続し、フラッシュが設定され、

app.use(flash()); 
var sessionFlash = function(req, res, next) { 
    res.locals.currentUser = req.user; 
    res.locals.error = req.flash('error'); 
    res.locals.success = req.flash('success'); 
    next(); 

} 
app.use(sessionFlash) 

し、メッセージの特定の種類を設定する私のルートにいくつかの地元の変数を使用してい

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <title><%=title%></title> 
    <link rel="stylesheet" href="/css/bootstrap.min.css"> 
    <link rel="stylesheet" href="/stylesheets/nav-bar.css"> 
    <link rel="stylesheet" href="<%=style%>"> 
    <link rel="stylesheet" href="/js/aos.css"> 
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
     <link href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.0.1/css/toastr.css" rel="stylesheet"/> 
     <script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.0.1/js/toastr.js"></script> 
    </head> 
    <body > 
    <nav class="navbar navbar-inverse navbar-fixed-top"> 
     <div class="container-fluid"> 
     <div class="navbar-header"> 
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar"> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
      </button> 
      <a class="navbar-brand" href="#">Joobber</a> 
     </div> 
     <div class="collapse navbar-collapse" id="myNavbar"> 
      <ul class="nav navbar-nav"> 
      <li class=""><a href="#">Home</a></li> 
      <li><a href="#">Ver todas as vagas</a></li> 
      <li><a href="#">Vagas por categoria:</a></li> 

      </ul> 
      <ul class="nav navbar-nav navbar-right"> 
      <li><a href="#"><span class="glyphicon glyphicon-user"></span> Ainda não está cadastrado?</a></li> 
      <li><a href="#"><span class="glyphicon glyphicon-log-in"></span> Logar</a></li> 
      </ul> 
     </div> 
     </div> 
    </nav> 

    <% if(success.length > 0){ %> 
     <script> 
     toastr.success('WANNA USE THE ERROR MESSAGE VARIABLE HERE!!!!') 
     </script> 
    <% } %> 

    <script type="text/javascript" src="js/aos.js"> 

    </script> 
    <script type="text/javascript"> 
    AOS.init({ 
     offset: 200, 
     duration: 600, 
     easing: 'ease-in-sine', 
     delay: 100, 
     }); 
    </script> 

const express = require('express') 
const router = express.Router() 
const indexControllers = require('../controllers/indexControllers') 


router.get('/', indexControllers.HomePage) 

router.get('/signup', indexControllers.Signup) 

router.get('/test', (req, res)=>{ 
    req.flash('success', 'user succesfulyl registered') 
    res.redirect('/') 
}) 

module.exports = router; 

答えて

0

あなたは、エラーとメッセージがtoastr.infoを使用して、その後1文を使用してtoastr表示したい場合。そうでない場合は、成功とエラーメッセージを分離して、より明確なコンテキストにすることをお勧めします。そして、このようにそれを使用します。

<% if(success.length > 0){ %> 
    <script> 
    toastr.success(`${success[0]}`) 
    </script> 
<% } %> 
<% if(error.length > 0){ %> 
    <script> 
    toastr.error(`${error[0]}`) 
    </script> 
<% } %> 
+0

感謝を!しかし、ちょうどあなたの答えを補うために。あなたのコードは動作しますが、単に補間と '' $ {成功[0]} '<%=success%>に変更し、働いていませんでした。また、ありがとうございました! –

関連する問題