2011-12-25 23 views
2

我有一個項目需要一種總是在屏幕頂部可用的購物車。每當有人懸停在「購物車」圖標上,就會顯示裏面的所有內容。
但是,如果用戶打開了我的網站的兩個選項卡,並且其中一個選項卡已添加到購物車中,另一個選項卡將過期並且需要刷新。我的問題是:如果我使用AJAX不斷更新項目列表(這將需要會話和數據庫檢查),它會是一個足夠大的負載在服務器上(甚至在瀏覽器上),因爲它是一個問題,還是這種常見做法?如果這是一個問題,我可以採取哪些其他方式,以便用戶打開的每個選項卡始終都會更新?Ajax自動更新和服務器負載

如果有人能告訴我路徑,所以我可以研究更多關於它,甚至我應該查找的名稱,我會非常感激。謝謝。

回答

5

存在於瀏覽器空載,只是多了一個服務器的請求......也許這些請求都沒有用,

還有另一種方式名稱server push

,如果你的要求數比你的服務器電源多采用此種方式,但如果你有小小要求,而不是重要的,你可以使用服務器拉經常

+0

謝謝!這正是我需要的。 – 2011-12-25 06:12:36

2

Ajax是這裏的解決方案 - 它有一個非常輕的足跡..只要你不隨意使用它,它幾乎是相同的重新加載頁面(少得多,如果做得正確,因爲其服務較小文件)。事實上,研究表明,ajax可以將服務器帶寬使用率降低60%以上。

您可以閱讀有關速度問題,具體here

我在Tizag學習了Ajax,他們有輝煌的Tutorial

希望這有助於:)

1

你可以在某個區間Ajax調用加載與最新數據股利。這樣

(function getLatestCart(){ 
    setTimeout(function(){ 
     $("#latestCart").load("getCartDetails.php", getLatestCart);  
    }, 10000); 
})(); 

這樣的東西會叫上每10秒的方法(你可以改變時間間隔),並與ID latestCart加載最新車到div。

0

您可以在本地跟蹤這個變化。

對更新的數據使用UserData(IE7和更低版本)或domStorage,如果數據發生更改,則每10-20秒檢查一次。