如何在ajax成功函数中添加闪现消息?

3

你好,我正在使用Symfony开发,并且有时需要使用Ajax来避免页面重新加载。我有两个实体,“事件”和“列表”,我想将一些列表与一个事件关联起来,我的代码在Ajax下能正常工作,但是在记录完成后,我想显示一个闪存消息,让用户知道操作已经完成。 这是我的jQuery代码:

 <script type="application/javascript">
          $(".modal-body").hide();
        $("#btnenr").click(function(){

  var ev = {{id}};
  console.log(ev);
  var liste = $("input:checked").map(function () { return this.value; }).get();
  if (typeof liste !== 'undefined' && liste.length > 0) {
   
       $(".modal-body").show();
        $.ajax({
             type: 'get',
             url: '{{ path('liste_enregisterEvListe') }}',
             data : {
                        arrayy: liste,
                        x: ev
                    }, 
              success: function(data) {
              $(".modal-body").hide();
                // code that display the flash message
             }
            });

            }
       else{
       alert('Vous n \'avez rien saisi');
   
      }
       }
       
     
  );
    
        </script>

在我的Twig模板中,我有一个Flash消息的部分:

<div class="page-content">
            {% for flash_message in app.session.flashBag.get('notice') %}
                <div class="note note-warnning">
                    <p>{{ flash_message }}</p>
                </div>
            {% endfor %}
            {% for flash_message in app.session.flashBag.get('success') %}
                <div class="note note-success">
                    <p>{{ flash_message }}</p>
                </div>

那么我该如何添加闪现消息呢?
2个回答

3

看起来你不需要在这里使用任何闪存消息。它们被设计为在页面重新加载时仅显示一次。 只需以你喜欢的方式显示通知(例如使用https://notifyjs.com/之类的东西)在成功回调中。


2
我认为你需要在Symfony控制器中设置Flashmessage。示例:Flash-Message
$session->getFlashBag()->add('success', 'Message Text');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接