【发布时间】:2016-06-19 15:23:24
【问题描述】:
好的,所以我目前正在构建一个博客,在我的添加帖子页面(仪表板)上,我正在使用 Javascript sweetalert 闪烁一条消息,效果很好,但我在其中包含了一个链接查看您刚刚写的帖子。当您单击它并按后退按钮时,将再次显示闪烁消息。然后再次。又是永远。
这是我在控制器中添加发布操作:
public function createBlogPost(Post $post, Request $request)
{
$post = new Post;
$post->title = $request->title;
$post->slug = str_slug($post->title, '-');
$post->thumbnail = $request->thumbnail;
$post->content = $request->content;
$post->save();
$mostrecent = DB::table('posts')->orderBy('created_at', 'desc')->first();
$mslug = $mostrecent->slug;
$request->session()->put('mslug', $mslug);
Session::flash('post_success', 'post success');
return redirect('admin/dashboard');
// I have tried Session::forget('post_success');
// Session::pull('post_success');
// Session::flush();
}
我真的不知道问题出在哪里,但我很确定它一定与重定向有关,因为我可以在重定向之前忘记密钥并且不会闪烁消息。
任何帮助将不胜感激
(忽略糟糕的 PHP,我对这些东西还是很陌生:P)
编辑: 我将 flash.blade.php 包含在我的主文件底部:
@include('templates.flash')
这是闪存文件:
@if (Session::has('post_success'))
<script>
swal({
title: 'Post created!',
html:
'<p>Check it out ' +
'<a href="/blog/{{ Session::get('mslug') }}">here</a>.',
type: 'success'
})
</script>
@endif
编辑 2:我的路线
Route::get('admin/dashboard', [
'as' => 'dashboard',
'uses' => 'AdminController@dashboard'
]);
Route::post('admin/dashboard', [
'as' => 'createblogpost',
'uses' => 'AdminController@createBlogPost'
]);
【问题讨论】:
-
你试过
redirect('admin/dashboard')->with('post_success', 'post success')吗? -
让我看看我是否理解:您提交了一篇新博客文章,然后收到一条带有指向新创建文章的链接的甜蜜警报成功消息,您单击链接并查看该文章,现在您尝试点击后退按钮转到创建帖子页面,您仍然会收到相同的成功警报?
-
问题可能出在您的视野中 - 您能否说明如何在模板中显示警报?
-
看看这个让你的生活更美好的包。github.com/digitlimit/alert
-
没错,我更新了帖子以显示 Flash 文件
标签: php laravel laravel-5 laravel-5.2