0

当我尝试使用 Express 通过 Node 获取会话时,我的问题与客户端有关。

例如,对于这个片段https://gist.github.com/visionmedia/1491756,我总是用我的 ajax 请求“查看 0 次”,但是用我的浏览器没问题,变量增量也没问题。

我已经尝试过使用 PHP 并且一切正常。使用浏览器和 Ajax 请求。

这与这篇文章的问题相同:Session cookies do not change using ajax and nodejs server

编辑

我使用此代码来获取一些 JSON 数据并获取 nodeJS Session :

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.onreadystatechange = function () {
    alert(xhr.responseText);
    if (xhr.readyState != 4 || xhr.status != 200) return;
    var response = {};
    response = xhr.responseText;

    console.log(response);
    return response;
}
xhr.open(type, url);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send(params);

对于 NodeJS,我使用以下代码:

// In my app.js

// To enable CORS
var allowCrossDomain = function(req, res, next) {
        res.header("Access-Control-Allow-Origin", "*");
        res.header("Access-Control-Allow-Headers", "X-Requested-With");
        res.header('Access-Control-Allow-Credentials', 'true');
        next();
};
//...
// The session "visitCount"
app.get('/', function(req, res, next) {
        req.session.visitCount = req.session.visitCount ? req.session.visitCount + 1 : 1;
        res.send('You have visited this page ' + req.session.visitCount + ' times');
});

谢谢你的帮助 !

4

0 回答 0