2016-10-26 2 views
0

Я сделал звонок Ajax. Он показывает данные на моем сайте, но он не обновляет его автоматически (без нажатия f5 (обновление моего сайта)), если я изменю его в базе данных.ajax звонок не обновляется

Это мой код:

$(document).ready(function(){ 
    getname(); 
}) 
function getname(){ 
     $.ajax({ 
      type: 'post', 
      url: '../php/clas/name.php', 
      data: 'type=getthename', 
      dataType: 'json', 
      success: function(responseOrderData){ 
       var showOrderData = ''; 
       var rows = 0; 
       $.each(responseOrderData, function(index){ 
        rows++; 
        showOrderData += '<tr>'; 
        showOrderData += '<td>'; 
        showOrderData += responseOrderData[index].name; 
        showOrderData += '</td>'; 
        showOrderData += '</tr>'; 
        console.log(responseOrderData); 
       }); 
       if(rows == 0){ 
        showOrderData += '<tr><td colspan="7"><center><i class="fa fa-refresh fa-spin"></i></center></td></tr>';  
       } 
       $('.orderData').html(showOrderData); 
      }, 
      timeout: 1000, 
      error: function(error){ 
       console.log(error); 
      } 
     }) 
    } 
+0

Вы хотите проверить обновления каждые x секунд? –

ответ

0

Вам нужно Somthing как socket.io сделать обновления в режиме реального времени и передачи данных от сервера к клиенту, но вы можете сделать задачу с помощью JavaScript setTimeout или setInterval, чтобы обновить содержание HTML без перегрузка страницы

$(document).ready(function(){ 
    getname(); 
}) 
function getname(){ 
     $.ajax({ 
      type: 'post', 
      url: '../php/clas/name.php', 
      data: 'type=getthename', 
      dataType: 'json', 
      success: function(responseOrderData){ 
       var showOrderData = ''; 
       var rows = 0; 
        if(rows == 0){ 
        showOrderData += '<tr><td colspan="7"><center><i class="fa fa-refresh fa-spin"></i></center></td></tr>';  
       } 
       $.each(responseOrderData, function(index){ 
        rows++; 
        showOrderData += '<tr>'; 
        showOrderData += '<td>'; 
        showOrderData += responseOrderData[index].name; 
        showOrderData += '</td>'; 
        showOrderData += '</tr>'; 
        console.log(responseOrderData); 
       }); 

       $('.orderData').html(showOrderData); 
       //wait 10 seconds after ajax called successfully 
       setTimeout(getname,10000); 
      }, 
      timeout: 1000, 
      error: function(error){ 
       console.log(error); 
      } 
     }) 
    } 
Смежные вопросы