0

在 AJAX 请求期间创建的对象如何保留,以便后续 AJAX 调用可以使用它?

我尝试使用调试器查看我的变量在调用路由函数后是否存在,并且每次调用结束后它们似乎都被销毁了。

有什么建议或例子吗?

4

2 回答 2

2

首先全局变量是坏的。我认为你正在寻找的是所谓的session。使用 web framework express可以轻松实现这一点。

包.json

{
  "name": "hello-world",
  "description": "hello world test app",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
    "express": "3.x"
  }
}

应用程序.js

var express = require('express');
var app = express();
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.cookieParser('keyboard cat'));
app.use(express.cookieSession());

app.get('/count', function (req, res) {
    if (req.session.count === undefined) {
        req.session.count = 1;        
    } else {
        req.session.count += 1;
    }

    res.send('Number of times you visited this page: ' + req.session.count);
});

app.get('/reset', function (req, res) {
    req.session = null;

    res.send('session has been reset');
});

app.listen(3000, '127.0.0.1');
console.log('Listening on port 3000');

创建文件后,package.json您可以安装express issue npm install。然后运行程序就这么简单node app.js。该路线htttp://localhost:3000/counter计算您访问该页面的次数。即使在您关闭服务器之后。该路由http://localhost:3000/reset用于重置计数器。

于 2013-04-08T18:01:25.840 回答
-1

我要找的是global对象。

为了foo在不同的模块和路由器调用之间使用,我声明global.foo并使用了该对象。

http://nodejs.org/api/globals.html

于 2013-04-08T16:55:37.750 回答