发新贴  快速回复

nodejs中cookie设置问题

Cherry_lin
2016-11-22 21:28
nodejs中,为什么我增加了cookie的设置之后,就登录不进去了,请求login页面失败。这是什么原因???
 
zmouse
看下报错没
2016-11-23 17:21  回复本帖
Cherry_lin
没有错误,就是只那个login请求不成功,如果删除设置cookie的两段代码,页面就能正常显示到用户信息框
2016-11-23 19:51  回复本帖
Cherry_lin
请求失败出现如下错误
2016-11-23 21:16  回复本帖
 
zmouse
不是前端错误,看下后端的错误!
不过从前段错误来看的话,应该是后端没有输出!你看下你请求的那个/api/user/login里有没有输出内容,或者是逻辑有没有走输出!
2016-11-24 11:16  回复本帖
Cherry_lin
我仅仅把这一段代码改了一下就可以登录成功了,在浏览器端也看到了cookie,这是什么原因?
2016-11-25 11:06  回复本帖
yuesir
也遇到同样的问题了,貌似是 req.cookies.set() 的时候报错了。我用try catch 打印出来的说 req下的 cookies 为 undefined, 下面没有 set 方法,但是再 app.js 里面,再挂载 req.cookies 这里打印的时候 req.cookies (自己改了名字 为myCookies) 是有内容的,不太清楚 为啥挂载在 app.js 中的 req对象下的 cookies 对象到 api.js 中就没有了




2016-12-11 18:44  回复本帖
yuesir
解决了,是因为 把 cookie 的设置写到了 路由的后面导致没有加载上的原因。正确如下(把cookie的设置放在 路由的前面)
//设置 cookie 的使用
app.use(function (req, res, next) {
    req.myCookie = new Cookies(req, res);
    console.log(req.myCookie);
    next();
});

//静态资源的处理,直接返回
app.use('/public', express.static(__dirname + '/public'));
app.use('/admin', require('./routers/admin'));
app.use('/api', require('./routers/api'));
app.use('/', require('./routers/main'));
2016-12-11 19:32  回复本帖
Cherry_lin
forum.php?mod=redirect&goto=findpost&pid=117637&ptid=52101
解决了,是因为 把 cookie 的设置写到了 路由的后面导致没有加载上的原因。正确如下(把cookie的设置放在  ...

我刚刚也试一下了,req.cookies是可以打印出一堆东西,但是获取userInfo的时候,还是undefined
2016-12-12 09:42  回复本帖
yuesir
forum.php?mod=redirect&goto=findpost&pid=117652&ptid=52101
我刚刚也试一下了,req.cookies是可以打印出一堆东西,但是获取userInfo的时候,还是undefined ...

第一次应该就是 空,得第二次才有。
2016-12-13 00:26  回复本帖
Cherry_lin
我只有将设置cookie的方法改为第一个才可以打印,前端也能正常登录,用下面的方式一直是undefined,前端登录的login页面请求也不能成功
2016-12-13 10:07  回复本帖
登录 后才可以发表回复