2016-10-26 44 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

你需要財產以後像socket.io進行實時更新,並從服務器發送數據到客戶端,但你可以使用JavaScript setTimeoutsetInterval刷新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); 
      } 
     }) 
    }