4

我想从Bootstrap警报切换到Toastr警报。我目前的工作设置是:

@if (Session::has('flash_notification.message'))

     <div class="alert alert-{{ Session::get('flash_notification.level') }}">
         <button type="button" class="close" data-dismiss="alert" 
             aria-hidden="true">&times;</button>
         {{ Session::get('flash_notification.message') }}
     </div>

 @endif

但是我现在正在努力在 JS 中访问 Laravel 的会话变量。

实际的 JS 工作示例是:

$(document).ready(function() {

    toastr.info('Page Loaded!');

    });

});

但是,我想使用 Laravel 的会话变量来包含不同的消息和警告框:

@if (Session::has('flash_notification.message'))

    <script>
        $(document).ready(function() {

            toastr.options.timeOut = 4000;
            toastr.{{ Session::get('flash_notification.level') }}('{{ Session::get('flash_notification.message) }}');

        });
    </script>

@endif

我收到各种错误,例如unexpected ;. 任何帮助将不胜感激。非常感谢。

4

1 回答 1

3

由于您正在使用刀片模板,因此您可以使用{{ var/function() }}. 如果您想要未转义的输出,您可以使用{!! var/function() !!}.

因此,您的问题的解决方案是,您需要用标签包围您的 php 代码{{ }}

@if (Session::has('flash_notification.message'))

    <script>
        $(document).ready(function() {

        toastr.{{ Session::get('flash_notification.level') }}
        ('{{ Session::get('flash_notification.message') }}');

        });
    </script>

@endif
于 2015-04-26T20:31:48.807 回答