关于无法获取Cookie问题

网站新加了一个多语言系统,由于session 容易过期,准备转为Cookie,但是发现获取不到用户cookie,第一次用cookie,求指点,附上代码
对了,用cache和cookie哪个存储用户的语言选择会更好,

这里是设置一个永久的名为locale的 cookie,用dd() 调试过应该是设置成功了的

public function changeLocale($locale){
        if (in_array($locale, ['en','zh'])) {
            //session()->put('locale', $locale);
            Log::info($locale);
            Cookie::forever('locale', $locale);
        }
        return redirect('/')->withInput();
    }

  dd()调试时显示的
  #name: "locale"
  #value: "en"
  #domain: null
  #expire: 1793989115
  #path: "/"
  #secure: null
  #httpOnly: true
  -raw: false
  -sameSite: "lax"
  -secureDefault: false

然后使用 Cookie::get(‘locale’) 就一直获取不到显示null;

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

Cookie 存储后,在下一个请求才能获取到,当然还要看客户端请求的时候有没有带上 Cookie,这才是最重要的

3年前 评论
  1. 检查下你的 cookie 有前缀吗?
  2. 测试前端能不能获取到 cookie,看看浏览器控制台 -> 应用 -> 存储 -> cookie 中有没有你写入的键
3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!