Php 刷新后显示Laravel flash消息

Php 刷新后显示Laravel flash消息,php,twitter-bootstrap,laravel,laravel-5,flash-message,Php,Twitter Bootstrap,Laravel,Laravel 5,Flash Message,我有一个问题。我正在用Laravel构建一个应用程序,在我上传图片的页面上,我需要一条flash成功消息,上面写着你成功上传了新图片。当我上传时,它会工作,显示flash消息,但当我刷新或转到其他页面时,消息仍然保留在那里。然后在再次刷新之后,它消失了。在其他页面(如创建新帖子)上,flash消息正常工作,刷新后不会显示,也不会转到其他页面。我使用imageintervention.ioapi上传图像,之所以提到它,是因为我不想让您对代码感到困惑 public function update_a

我有一个问题。我正在用Laravel构建一个应用程序,在我上传图片的页面上,我需要一条flash成功消息,上面写着你成功上传了新图片。当我上传时,它会工作,显示flash消息,但当我刷新或转到其他页面时,消息仍然保留在那里。然后在再次刷新之后,它消失了。在其他页面(如创建新帖子)上,flash消息正常工作,刷新后不会显示,也不会转到其他页面。我使用imageintervention.ioapi上传图像,之所以提到它,是因为我不想让您对代码感到困惑

public function update_avatar(Request $request)
{
    // Handle the upload of avatar
    if ($request->hasFile('avatar')) 
    {
        $avatar = $request->file('avatar');
        $filename = time() . '.' . $avatar->getClientOriginalExtension();

        Image::make($avatar)->resize(300, 300)->save( public_path('/uploads/avatars/' . $filename ) );

        $user = Auth::user();
        $user->avatar = $filename;
        $user->save();

        Session::flash('success', 'You have successfully uploaded new picture!');       


    }

    return view('pages.profile', array('user' => Auth::user()) );

}

这样做之后,不应该返回视图。您应该返回一个重定向到GET路由,在那里您将显示该视图(view-pages.profile)。这是POST重定向获取流

闪存数据仅在下一次请求时可用。您在显示视图的同一请求中闪烁。这就是为什么刷新会显示flash消息,因为刷新会导致一个新的请求,这是下一个请求

你真的不应该有一个单一的方法来处理表单和显示视图,因为它会导致混乱

有一种方法可以执行重定向到显示视图的路由的处理。您可以同时闪烁和重定向

return redirect()->route(...)->with('success', ....);

谢谢,我以后会考虑的。:)