gpt4 book ai didi

javascript - SweetAlert:警报出现两次

转载 作者:行者123 更新时间:2023-11-27 22:56:32 26 4
gpt4 key购买 nike

我有一个 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 View 时,会出现警报。但是,当他们转到另一个页面时,警报会再次出现。

这个 View 扩展了我的布局。此布局内容是脚本的这一部分:

<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>

请帮我解决这个问题,我只需要一次此警报。谢谢!

编辑:我得到了它 !我加载 View 而不是重定向到路线!只是需要编辑这个:

return view('projects.show')->withProject($project)->withProgress(56);

return redirect()->route('projects.show')->withProject($project)->withProgress(56);

最佳答案

问题是您正在创建 Flash,然后创建 View 。因此,您将获得此请求和下一个请求的闪存。

当您闪现一条消息时,它将一直保留到下一个请求结束。如果您创建一个 View (而不是重定向),那么您并不是在创建新请求,而是实际上“完成”当前请求。 “重置”闪存的请求仍将是下一个请求。然后您要做的就是完成此请求并通过创建重定向来启动另一个请求。

所以您想在创建 Flash 后进行重定向,对吧?

return Redirect::action('YourController@yourFunction')->withProject($project)->withProgress(56);

来源:https://laravel.com/docs/5.1/session#flash-data

关于javascript - SweetAlert:警报出现两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37563007/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com