Обновление динамического содержимого AJAX из БД и с помощью PHP - PullRequest
0 голосов
/ 11 июня 2018

Я хочу обновлять мой модальный div каждые 1 сек из базы данных.Он должен обновить его, не закрывая действительный модальный интервал и интервал в одну секунду. Мой модальный контент:

<div id="view-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
                          <div class="modal-dialog modal-lg">

                            <!-- Modal content-->
                            <div class="modal-content">
                              <div class="modal-header">

                                <h4 class="modal-title">Test</h4>
                              </div>
                              <div class="modal-body">

                                <div id="dynamic-content"></div>

                              </div>
                              <div class="modal-footer">
                                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                              </div>
                            </div>

                          </div>
                        </div> 

AJAX:

$(document).ready(function(){

        $(document).on('click', '#test', function(e){

          e.preventDefault();

          var uid = $(this).data('id');

          $('#dynamic-content').html('');



            $.ajax({
              url: 'test.php',
              type: 'POST',
              data: 'id='+uid,
              dataType: 'html'
            })

            .done(function(data){
              console.log(data);  
              $('#dynamic-content').html('');    
              $('#dynamic-content').html(data);

            })




        });

      });

Кнопка:

<button type="button" id="test" class="btn btn-dark" data-toggle="modal" data-id="'.$data['id'].'" data-target="#view-modal">Test</button> 

Я хочу обновить эту часть здесь:

 $.ajax({
              url: 'test.php',
              type: 'POST',
              data: 'id='+uid,
              dataType: 'html'
            })

            .done(function(data){
              console.log(data);  
              $('#dynamic-content').html('');    
              $('#dynamic-content').html(data);

            })

каждую 1 секунду, не закрывая реальный модальный режим или не перезагружая сайт, который он должен просто обновить.

1 Ответ

0 голосов
/ 11 июня 2018

Поместите свой AJAX в функцию:

function ajaxFunction (uid){
 $.ajax({
     url: 'test.php',
     type: 'POST',
     data: {id:uid},
     dataType: 'html',
     success:function(data){
          console.log(data);  
          $('#dynamic-content').html('');    
          $('#dynamic-content').html(data);
    }     
});


}

Установите интервал в 1 секунду:

setInterval(ajaxFunction(uid), 1000);

РЕДАКТИРОВАТЬ: Полный код здесь

$(document).ready(function(){
    $(document).on('click', '#test', function(e){
      e.preventDefault();
      var uid = $(this).data('id');
      $('#dynamic-content').html('');
    });
  setInterval(ajaxFunction(uid), 1000);
  });

function ajaxFunction (uid){
 $.ajax({
     url: 'test.php',
     type: 'POST',
     data: {id:uid},
     dataType: 'html',
     success:function(data){
          console.log(data);  
          $('#dynamic-content').html('');    
          $('#dynamic-content').html(data);
    }     
});        
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...