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

时间:2016-08-16 16:48:44

标签: jquery ajax symfony

嗨我正在使用symfony,有时我需要使用ajax来避免重新加载页面。我有两个实体,“事件”和“列表”,我想将一些列表与一个事件相关联,我的代码与ajax正确匹配,但是在录制后我想显示一条flash消息,让用户明白操作已经完成。 这里是我的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>

在我的树枝上,我有一个flash flashag的分区:

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

那么如何添加flash消息呢?

2 个答案:

答案 0 :(得分:2)

好像你不必在这里使用任何flash消息。它们被设计为在重新加载页面时显示一次。 只需按照您喜欢的方式显示通知(使用类似https://notifyjs.com/之类的内容?)即可成功收回错误。

答案 1 :(得分:0)

我认为你需要在Symfony控制器中设置Flashmessage。示例:Flash-Message

$session->getFlashBag()->add('success', 'Message Text');