2016-11-26 52 views
3

在我們的Web應用程序中有數據表。這些數據表通過ajax請求自動更新。所以我們每5秒向服務器發送一次Ajax請求。結果如此糟糕的請求以及如此多的帶寬被浪費了。我想知道是否有更新數據表的選項,數據庫中只有更改。將新記錄添加到數據庫時,自動生成請求並更新客戶端網頁。 我現在的代碼如下。我們的服務器端語言是php,數據庫是mysql。更新網頁時無需每次向服務器發送請求

<script> 

    var dtable= $('#ajax_load_table').DataTable({ 
     "ajax": '<?php echo base_url(); ?>dashboard/jobs_approved_json_refresh', 
     columns: [ 
      { data: "job_code" }, 
      { data: "cus_name" }, 
      { data: "priority" },    
      { data: "department" }, 
      { data: { 
       _: "last_action.display", 
       sort: "last_action.s_order" 
      } }, 
      { data: "status" }, 
      { data: "action","width": "30%" } 
     ], 
     "order": [] 
    }); 

window.setInterval(function() { 
    dtable.ajax.reload(); 
}, 5000); 
</script> 
+0

看看網絡套接字 – nu11p01n73R

回答

1

(這裏有一些基本的理論來幫助你開始):你正在尋找的概念叫Comet,更具體地說是HTTP server-side push的想法。另外,在你的情況下,長輪詢是必要的(你需要一個服務器推送,但在你的情況下,這實際上是不可能的。但是,長輪詢'技術'將用來模擬服務器需要的推送該警告客戶端瀏覽器)

當你運行PHP的,我會說這個答案讓你的具體情況非常適當的指導:

Ajax push system

祝您好運在尋找你​​的方式

1

網絡插座,

長輪詢

服務器 - 發送活動

至於我,我寧願長輪詢,因爲它適用於無處不在的ajax作品。

相關問題