Laravel奇怪的问题与cookie

时间:2015-10-30 18:16:40

标签: javascript cookies laravel-4

我正在尝试在Cookie存在时隐藏警告消息。

所以我有这段代码:

@foreach($alerts as $alert)
  @if(empty(Cookie::get('alert_'.$alert->id)))
    <!-- alert -->
    <div class="alert alert-{{ $alert->type }} text-center">
    <a href="#" onclick="createCookie('alert_{{ $alert->id }}','true','9999')" class="close" data-dismiss="alert" aria-label="close">&times;</a>
    {{ $alert->message }}
    </div>
  @endif
@endforeach

但是当cookie有一个值时,它仍在显示。

当我在代码中使用isset()时,我得到错误连接重置。

我使用javascript生成cookie;

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

我做错了什么?

1 个答案:

答案 0 :(得分:0)

检查是否存在Cookie

试试这个:

您还可以使用 请求

来获取Cookie

要检索cookie的值,请使用以下语法:

$value = $request->cookie('nameOfCookie');

如果需要,添加实例 照亮\ Http \ Request

您可以检查cookie是否存在,如下所示

if (Request::hasCookie('alert_'.$alert->id)) 
{
    // Success code here
} else { 
    // Failure code here
}

你也可以同样检查:

if(Cookie::get('alert_'.$alert->id) != null) { .. }

有用的文档:hasCookie方法。

希望这有用。

相关问题