php - Laravel 8 - 设置 cookie 响应不起作用

标签 php laravel cookies httpresponse

我使用 Laravel 8 作为后端,并尝试将我的身份验证 token 存储在 cookie 中。 我想在我的 Controller 响应中设置该 cookie,我正在尝试这种方式:

return response()->cookie('token', $tokenResult->accessToken, 10000);

这里的问题是 Laravel 找不到 cookie 方法。 根据 Laravel 8 文档,cookie() 是 ResponseTrait 的一个方法,但 Laravel 试图从 Macroable 特征中获取它:

BadMethodCallException: Method Illuminate\Routing\ResponseFactory: :cookie does not exist. in file /var/www/html/t2t-api/vendor/laravel/framework/src/Illuminate/Macroable/Traits/Macroable.php

我该如何解决这个问题?谢谢。

附注 如果我像这样向response()添加一个参数,它似乎可以工作:

return response('Hello World')->cookie('token', $tokenResult->accessToken, 10000);

但我需要一个 JSON 响应而不是这个。

最佳答案

您应该在新的\Illuminate\Http\Response 上使用 cookie

$response = new \Illuminate\Http\Response();
return $response->cookie("name","value",360);

关于php - Laravel 8 - 设置 cookie 响应不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73370580/

相关文章:

PHP正则表达式查找非空格字母

javascript - 从使用 Ajax/Javascript 的网站收集数据。 - curl

php - Laravel 5 项目导致 PHP/Apache 崩溃

asp.net - 如果加载的页面具有 ASP.NET 身份验证 cookie,如何从 JavaScript 检查?

php - stdClass 类的对象无法转换为字符串 - laravel

php - 更改函数以使用 preg_replace() 而不是 ereg_replace

php - 如果变量为空,Carbon 获取当前日期

php - 使用 laravel 访问 json 输入

php - 如何正确使用我的 Cookie 类

http - cookie 如何存储在本地机器上?