我的應用程序中有一個購物車,它目前適用於我,儘管我的同事遇到的問題是它太「慢」。我一直在想一個更好的方法來實現它,使其更快,更高效。用Laravel和Angular構建購物車
目前,這是我的網頁的加載:
- 產品/票務頁面加載。
- AJAX函數從服務器獲取產品/票據並顯示在頁面上。
每個產品都有這樣的購買按鈕:
<button ng-click="buyTicket(id)" class="btn">Buy Ticket</button>
這是buyticket如何工作的:
我通過產品/車票的標識,以我的功能。
- AJAX函數發佈id到服務器。
- 服務器運行數據庫查詢以基於id檢索產品/票證信息。
- 產品/票據信息被保存到「購物車」表中。
- AJAX函數返回數據「真」作爲響應。
我播了這個:
$ rootScope。$ broadcast('TICKET_ADDED',true);
車指令收聽廣播,使一個AJAX調用服務器,以獲得購物車數據:
$範圍在$( 'TICKET_ADDED',函數(響應){$ scope.loadCart(); 。 })
返回的數據被分配給一個數組並顯示在購物車中。
每個用戶購物車由長25
隨機生成的字符串,它是我的車是如何工作的,現在確定,我想一個更快,更好的方式來做到這一點吧。
編輯:(使用調試工具欄來獲得這些統計數據)
當頁面加載: 查詢號運行:1個 內存使用:12.25 MB 申請時間:1.04s 號AJAX請求:3
當點擊買門票功能: 查詢號運行:5 內存使用:12.75 MB 請求持續時間:934.41毫秒 AJAX請求數:2
所以你的同事認爲它太慢了,但你認爲它很好? – wvdz
介紹緩存,客戶端和服務器端。在Angular $ http中,甚至有一些cache = true的設置可以直接使用。 – wvdz
@popovitsj緩存?你能解釋一下嗎? – user3718908