ajax得到session,node ajax跨域获取不到session值

首先在html页面,有以下代码:

会话登录

设置钥匙

function getSessionId(){

$.post('/lock/getSessionId',function(data){

alert("数据为:"+data);

});

}

function setkey(){

$.post('/lock/getKey',function(data){

alert("数据为:"+data);

});

}

在后端代码中设置的路由

router.post('/getSessionId',function(req,res){

var options = {

url : 'https://clb.kdware.cn:5000/v1.1/login',

method : 'post',

json : true

};

var data = {};

data.name = '09000001';

data.passwd = '789456';

options.body = data;

request(options).then(function(_data){

var body = _data.body;

if(body.resultCode === 0){

req.session.sessionid = body.sessionid;

console.log('保存时session里面的值:',req.session.sessionid);

res.send('获取sessionid成功!保存到了cookie里面');

}else{

res.send('获取sessionid失败!');

}

});

});

这个功能的路由能正常执行,且界面弹出:获取sessionid成功!保存到了cookie里面

但是第二个路由就获取不到session数据,我也试过配置cors跨域设置

比如在app.js文件里面加载以下代码:

//设置跨域访问

app.all('*',function(req,res,next){

res.header("Access-Control-Allow-Origin", "*");

res.header("Access-Control-Allow-Headers", "Content-Type,Content-Length,   Authorization, Accept,X-Requested-With");

res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");

res.header("X-Powered-By",' 3.2.1');

res.header("Content-Type", "application/json;charset=utf-8");

next();

});

如下代码:

router.post('/getKey',function(req,res){

var options = {

url : 'https://clb.kdware.cn:5000/v1.1/setKey',

method : 'post',

json : true

};

var data = {};

data.sessionid = req.session.sessionid;

console.log('设置钥匙时获得的sessionId:',data.sessionid);

data.projectID = "9981";

data.keyType = 1;

data.keyValue = "789456";

data.owner = "kdware";

data.beginDate = "2018-5-21T13:29:00.000";

data.endDate = "2018-5-22T13:29:00.000";

data.devices = ['11863'];

options.body = data;

request(options).then(function(_data){

var body = _data.body;

console.log("设置钥匙返回的数据:",body);

if(body.resultCode === 0){

res.send('设置钥匙成功!');

}else{

res.send('设置钥匙失败!');

}

});

});

结果还是无效,在页面会弹出:设置钥匙失败!控制台会打印:设置钥匙时获得的sessionId: undefined

我想知道的是在第二个路由这里怎么才能获取第一个路由设置的sessionid,求大神指点迷津

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值