SweetAlert:警报出现两次
SweetAlert: Alert appears twice
我有一个 Laravel 项目。我将一些数据存储到我的数据库中,并创建一个通知:
public function store(CreateProjectFormRequest $request, Project $project)
{
$project = $request->user()->projects()->create([
'title' => $request->input('title'),
'description' => $request->input('description'),
'introduction' => $request->input('introduction'),
'city_id' => $request->input('city_id')
]);
notify()->flash('Publié !', 'success', [
'text' => 'Votre projet a était publié avec succés !',
'timer' => 2000,
]);
return view('projects.show')->withProject($project)->withProgress(56);
}
当用户重定向到 projects.show 视图时会出现警告。但是,当他们转到另一个页面时,警报再次出现。
此视图扩展了我的布局。此布局包含这部分脚本:
<script>
@if (notify()->ready())
swal({
title: "{!! notify()->message() !!}",
text: "{!! notify()->option('text') !!}",
type: "{{ notify()->type() }}",
@if (notify()->option('timer'))
timer: "{{ notify()->option('timer') }}",
@endif
});
@endif
</script>
请帮助我修复它,我只需要一次此警报。谢谢!
编辑:
我知道了 !我加载视图而不是重定向到路由!
只是需要编辑这个:
return view('projects.show')->withProject($project)->withProgress(56);
至
return redirect()->route('projects.show')->withProject($project)->withProgress(56);
问题是您正在创建 Flash,然后创建视图。因此,您将获得此请求和下一个请求的闪光灯。
当您闪烁一条消息时,它将一直保留到下一个请求结束。如果您创建一个视图(而不是重定向),您并不是在创建一个新请求,而是 "finishing" 当前请求。 "reset"闪现的请求还是下一个。然后您要做的就是完成此请求并通过创建重定向来启动另一个请求。
所以你想在创建 flash 后重定向,对吗?
return Redirect::action('YourController@yourFunction')->withProject($project)->withProgress(56);
我有一个 Laravel 项目。我将一些数据存储到我的数据库中,并创建一个通知:
public function store(CreateProjectFormRequest $request, Project $project)
{
$project = $request->user()->projects()->create([
'title' => $request->input('title'),
'description' => $request->input('description'),
'introduction' => $request->input('introduction'),
'city_id' => $request->input('city_id')
]);
notify()->flash('Publié !', 'success', [
'text' => 'Votre projet a était publié avec succés !',
'timer' => 2000,
]);
return view('projects.show')->withProject($project)->withProgress(56);
}
当用户重定向到 projects.show 视图时会出现警告。但是,当他们转到另一个页面时,警报再次出现。
此视图扩展了我的布局。此布局包含这部分脚本:
<script>
@if (notify()->ready())
swal({
title: "{!! notify()->message() !!}",
text: "{!! notify()->option('text') !!}",
type: "{{ notify()->type() }}",
@if (notify()->option('timer'))
timer: "{{ notify()->option('timer') }}",
@endif
});
@endif
</script>
请帮助我修复它,我只需要一次此警报。谢谢!
编辑: 我知道了 !我加载视图而不是重定向到路由! 只是需要编辑这个:
return view('projects.show')->withProject($project)->withProgress(56);
至
return redirect()->route('projects.show')->withProject($project)->withProgress(56);
问题是您正在创建 Flash,然后创建视图。因此,您将获得此请求和下一个请求的闪光灯。
当您闪烁一条消息时,它将一直保留到下一个请求结束。如果您创建一个视图(而不是重定向),您并不是在创建一个新请求,而是 "finishing" 当前请求。 "reset"闪现的请求还是下一个。然后您要做的就是完成此请求并通过创建重定向来启动另一个请求。
所以你想在创建 flash 后重定向,对吗?
return Redirect::action('YourController@yourFunction')->withProject($project)->withProgress(56);