0

書きたいチャットアプリケーションにexpressを使用しています。問題は、expressのgetメソッドを使用してデータを取得すると、コードの他の部分やconsole.logの未定義のvarメッセージで使用できないことです。

コードは

// routing
app.get('/', function (req, res) {
  res.sendfile(__dirname + '/index.html');
  var cookieManager = new co.cookie(req.headers.cookie);

  var client = new memcache.Client(11211, "localhost");
  client.connect();

    user = client.get("sessions/"+cookieManager.get("sec_session_id"), function(error, result){
            var session = JSON.parse(result);
            user = JSON.parse(session.name);
            user = user.username;
    });

});

ユーザー変数を保存してコードの別の部分で使用したいので、このコードの後に​​console.log(user)と記述しますが、ユーザーはconsole.logで未定義です。

どんな種類の助けもいただければ幸いです。

4

1 に答える 1

1

関数を記述し、次のようなユーザー名を渡します。

// routing
app.get('/', function (req, res) {
  res.sendfile(__dirname + '/index.html');
  var cookieManager = new co.cookie(req.headers.cookie);

  var client = new memcache.Client(11211, "localhost");
  client.connect();

  client.get("sessions/"+cookieManager.get("sec_session_id"), function(error, result){
    var session = JSON.parse(result);
    // user = JSON.parse(session.name); // what are you trying to do here?
    // user = user.username;
    do_something_with_user(session.name.username);
  });
});

function do_something_with_user(username) {
  console.log(username);
}

http://www.nodebeginner.org/のようなjavascript/node.jsのチュートリアルをチェックすることをお勧めします

于 2013-01-12T17:13:55.080 に答える