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);
}

我建议您查看一些关于 javascript/node.js 的教程,例如http://www.nodebeginner.org/

于 2013-01-12T17:13:55.080 回答