鍍金池/ 問答/C  HTML/ koa2使用 ctx.cookies.get得不到cookie

koa2使用 ctx.cookies.get得不到cookie

在koa2中使用 ctx.cookies.get得不到cookie。打印結(jié)果始終是undefined。
代碼如下

// 用戶登錄
router.post('/user/login', async (ctx, next) => {
    let {username, pwd} = ctx.request.body;
 
    let result = await User.findOne({username});
    console.log(result)
    if(!result){
        return ctx.body = {
            code:0,
            msg: '用戶名不存在'
        }
    } else if(result.pwd === md5Pwd(pwd)) {
        console.log(result._id); // 有值
        ctx.cookies.set('userid', result._id);
        console.log(ctx.cookies.get('userid')); // undefined

        return ctx.body = {
            code:1,
            msg: '登錄成功',
            data: result
        }
    }
})

> 引用文字
回答
編輯回答
冷眸

ctx.cookies.set是在HTTP響應(yīng)頭里面增加Set-Cookie字段
ctx.cookies.get是從HTTP請求頭里面讀取Cookie字段
從服務(wù)器角度來看是先收到客戶端的request請求,然后輸出response響應(yīng)。所以ctx.cookies.set的cookie只有在下次request的時候才能通過ctx.cookies.get獲取到

2018年5月15日 18:33