0

ExpressJS を使用して EJS ビューをレンダリングします。ビューをレンダリングするときに、変数 (myVar) を渡すことがあります。関数を呼び出したいです。変数(myVar)が送信されたことを条件に。

app.js の Express ルート。

    app.get('/viewing/login', function(req, res){
           res.render('viewing/login', {
               title: 'my view',
               locals: myVar     <!------The variable being sent(myVar) ----
           });
    });

myScript.js の関数

        $(document).ready(function(){
            $('<div></div>')
                .attr('id','overlay')
                .css('opacity', '.60')
                .addClass('active')
                .html(myVar)
                .appendTo('body')
                .slideDown('slow',function(){
                    setTimeout(function(){$('#overlay').slideUp('slow')}, 5000);
             })
       });

login.ejs という EJS ファイルもあります。

  1. App.js は myVar を login.ejs に送信します
  2. myVar が login.ejs に送信されると、myScript に保存された関数が実行されます。
  3. login.ejs 内の myVar の存在はどこで検証されますか?

EJSに変数が存在する場合、関数(またはスクリプト)を呼び出す方法は何ですか?

私のコードがしようとしているのは、ユーザーがユーザー名とパスワードを正しく入力していない場合に、特定のエラーでオーバーレイを下にスライドさせることですか?

4

1 に答える 1

0

1つの方法は、単にtypeofチェックを行うことだと思います:

if (typeof(myVar) === 'undefined') {
    // variable is undefined send alert, etc;
}
于 2013-03-28T18:45:49.930 に答える