Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 拉威尔8号-罐头盒';t在中间件中设置cookie_Laravel_Laravel 8 - Fatal编程技术网

Laravel 拉威尔8号-罐头盒';t在中间件中设置cookie

Laravel 拉威尔8号-罐头盒';t在中间件中设置cookie,laravel,laravel-8,Laravel,Laravel 8,我正在用Laravel和Vue建造一个购物车水疗中心 Vue通过API与Laravel通信,这不是一个无状态的API,因为我使用Sanctum提供基于cookie的会话身份验证服务 对于来宾用户,我希望将购物车信息存储在cookie中。因此,我尝试通过使用以下handle()方法创建的中间件设置cookie: 我将此中间件添加到“api”和“web”组中,但无论我发出多少页面请求,它似乎都不会添加cookie 非常感谢您的帮助,谢谢您有什么错误吗?“您是否验证了该程序正在进入该中间件?”安德鲁感

我正在用Laravel和Vue建造一个购物车水疗中心

Vue通过API与Laravel通信,这不是一个无状态的API,因为我使用Sanctum提供基于cookie的会话身份验证服务

对于来宾用户,我希望将购物车信息存储在cookie中。因此,我尝试通过使用以下handle()方法创建的中间件设置cookie:

我将此中间件添加到“api”和“web”组中,但无论我发出多少页面请求,它似乎都不会添加cookie


非常感谢您的帮助,谢谢

您有什么错误吗?“您是否验证了该程序正在进入该中间件?”安德鲁感谢您的回复。我试图测试中间件。当我在浏览器中打开它时,它工作正常(cookie已设置)。可能在测试中,只能使用withCookie()方法设置cookie??在这种情况下,如何测试中间件呢?我会在中间件中放置一个
dd()
,可能是多个。类似于
dd(“请求Cookie:”$Request->Cookie('cart\u id'))
返回$next($Request)之前
if
语句中的另一个。返回$next($request)之前的dd()永远不会被调用。这意味着cookie永远不会真正被设置。你是说
if()
语句中的
dd()
?如果将
dd()
放置在
If()
外部,它会被调用吗?
public function handle(Request $request, Closure $next)
{
    if(!$request->cookie('cart_id')){
        $cart_id = "some value";
        return $next($request)->cookie(cookie()->forever('cart_id', $cart_id));
    }  
    return $next($request);
}