如果页面仅加载一次,如何在 SPA 中获取 Laravel cookie
Posted
技术标签:
【中文标题】如果页面仅加载一次,如何在 SPA 中获取 Laravel cookie【英文标题】:How to fetch Laravel cookie in an SPA if page only loads once 【发布时间】:2021-08-23 12:34:48 【问题描述】:我在 Laravel 8 后端运行 Vue3 SPA。 我正在通过中间件为未经身份验证的用户设置 cookie。 我可以在 Chrome 的开发工具 Sotrage > Cookies 中看到 cookie 及其值。 但我无法在 Vue 应用程序中读取它的值,可能是因为它是在创建 Vue SPA 的初始页面加载之后设置的。
知道如何访问该 cookie 吗?
【问题讨论】:
@tony19 谢谢你想通了。原来 Laravel 附带了一个仅限 HTTP 的 cookie 设置。 【参考方案1】:从 cmets 确定,您启用了仅 HTTP cookie,这会阻止客户端 javascript 访问 cookie。
仅 HTTP cookie 是 intended for security purposes,但您可以使用 session-set-cookie-params
禁用它:
<?php
$options = array("httponly" => false);
session_set_cookie_params($options);
session_start();
?>
或在laravel/config/session.php
:
<?php
//...
return [
'http_only' => false
]
?>
【讨论】:
以上是关于如果页面仅加载一次,如何在 SPA 中获取 Laravel cookie的主要内容,如果未能解决你的问题,请参考以下文章