关于无法获取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;

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 2

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

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

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