0

これは基本的に、ここでの質問の続きです:Nodejs Passportdisplayusername

app.get('/hello', function(req, res) {
    res.render('index.jade', { name: req.user.username });
});

したがって、ユーザーはPassportJSを介してログインし、本文にindex.jade含ま#{name}れているに移動します。これは、の値に置き換えられますreq.user.username

質問:のJavaScriptの値req.user.usernameを使用することは可能ですか?index.jadeその値を変数に割り当てようとしましたが、機能しません。

私は値として隠された入力を持つというトリックを使用してきました#{name}

input(type='hidden', id='variableName', value='#{name}')

次に、JavaScriptは以下を使用してこの値にアクセスできます。

$("#variableName").val()

これは機能します。しかし、セキュリティの問題のような潜在的な欠点はありますか?これを行う正しい方法は何ですか?

4

1 に答える 1

2

いくつかのオプションがあります。それらの1つは、あなたがしたことであり、あなたのhtmlの中に価値を置きます。次のようにして解決することもできます。

script
   window.name = #{name};

これにより、変数を設定するインラインスクリプトが作成されます。あなたが持っている他のオプションはajaxを使うことです。つまり、そのリクエストに応答するには、おそらく追加のルートを作成する必要があります。

于 2012-05-18T09:59:44.793 に答える