【问题标题】:Laravel: Session message exist while click on browser back buttonLaravel:单击浏览器后退按钮时存在会话消息
【发布时间】:2019-06-01 14:41:27
【问题描述】:

Laravel 5.5,我对滑块进行crud操作,存储方法如下

public function store(StoreSlider $request)
{  
    $image = $request->image;
    $name = $request->name;
    $status = $request->status;

    $path = Storage::putFile('slider', $image);
    Slider::create([ 'name' => $name, 'image' => $path, 'status' => $status ]);
    Session::flash('message', 'Slider added successfullly'); 
    return redirect()->route('slider.index');
}

它重定向到index 页面,并显示消息Slider 添加成功,我正在使用以下代码显示会话:

@if(Session::has('message'))
    <p class="alert_msg"><i class="icon-correct-signal"></i> {{ Session::get('message') }}</p>
@endif

我用下面的代码隐藏了上面的消息,

setTimeout(function() {
    $('.alert_msg').fadeOut('fast');
}, 3000);

以上都正常。

index 页面中消息曾经显示和隐藏。

在具有view optionindex 页面中,显示添加的滑块,如果我通过单击任何URL 返回,会话消息不会显示。完美

问题是在view 页面中,我通过单击浏览器返回按钮返回,会话消息再次显示

找不到问题所在。

【问题讨论】:

  • 告诉你的浏览器返回并没有你认为的那样
  • @lagbox 如果我刷新会话消息消失了,很好。但是,如果我单击查看 uri 并通过单击浏览器返回会话消息仍然存在。这很奇怪吧?
  • 不......它在历史上回到了之前加载页面的内容
  • 是的,对...我该如何解决这个问题?

标签: javascript php laravel session laravel-5.5


【解决方案1】:

使用以下标题

header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

【讨论】:

  • 这将删除所有缓存存储
猜你喜欢
  • 2011-08-30
  • 2020-04-19
  • 1970-01-01
  • 1970-01-01
  • 2017-10-06
  • 2021-08-18
  • 1970-01-01
  • 2011-10-15
  • 2012-11-08
相关资源
最近更新 更多