【问题标题】:SweetAlert: Alert appears twiceSweetAlert:警报出现两次
【发布时间】:2016-06-01 16:47:58
【问题描述】:

我有一个 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);

【问题讨论】:

  • 毫无疑问,但我认为正确的信息应该是“Votre projet a ÉTÉ publié avec succès”
  • 哦....谢谢xD!

标签: javascript laravel notify sweetalert


【解决方案1】:

问题是您正在创建一个闪存,然后创建一个视图。因此,您将拥有此请求和下一个请求的 flash。

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

所以你想在创建flash后重定向,对吧?

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

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

【讨论】:

    猜你喜欢
    • 2013-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2014-06-18
    • 1970-01-01
    • 2021-08-09
    相关资源
    最近更新 更多