【问题标题】:Laravel 5.2 - cannot set cookieLaravel 5.2 - 无法设置 cookie
【发布时间】:2016-11-21 00:20:06
【问题描述】:

我正在使用 Laravel 5.2 并尝试使用以下代码设置 cookie,但未设置 cookie。我通过查看 Chrome/Safari/FireFox 开发工具以及在 'cookie-test' 刀片模板中调用 Cookie::get('test') 进行了检查。

class SampleController extends Controller {
  public function index() {
    echo 'setting cookie...';
    $response = new Response(view('cookie-test'));
    $response->withCookie('name', 'value', 60);
    return $response;
  }
}

我也试过官方文档上介绍的其他方式,比如

$response = new Illuminate\Http\Response('Hello World');
$response->withCookie('name', 'value', $minutes);
return $response;

,

$response->withCookie(cookie()->forever('name', 'value'));

,

Cookie::queue(cookie('name', 'value', 60))

等等,也参考stackoverflow的答案。

我有什么遗漏吗?我需要提前设置什么配置吗?有什么好的方法可以调试这个问题?

如果有任何建议,我将不胜感激,谢谢。

【问题讨论】:

标签: php laravel cookies laravel-5


【解决方案1】:

我找到了原因。在返回 $response 之前使用 echo() 或 var_dump() 将阻止应用程序设置 cookie。我在上面Controller的构造函数调用的一个类中使用了var_dump()进行调试,但是删除var_dump()这一行后,cookie设置成功了。

【讨论】:

  • 这也发生在我身上,几个小时后,通过所有其他 stackoverflow 线程和 laravel Cookie:: 方法,终于找到了这个,删除我的 var 转储为我解决了这个问题
猜你喜欢
  • 2017-05-13
  • 2015-05-20
  • 2015-08-13
  • 1970-01-01
  • 1970-01-01
  • 2019-07-22
  • 1970-01-01
  • 2018-11-28
  • 1970-01-01
相关资源
最近更新 更多