2014-01-28 91 views
2

我正在寫一個小的網絡商店,後端是寫在燒瓶中,我使用jQuery顯示彈出窗口過濾一些輸入等設置在燒瓶餅乾VS JS

有一個很簡單的購物車,並且在製作時遇到了一個問題。 我正在考慮將所選的每個產品的id(以及金額)存儲在cookie中,並通過訪問它們來通過JS生成頁面的「cart」部分。 目前,我通過向服務器發送AJAX調用來設置cookie,然後服務器更新cookie。

的Javascript:

$('#addcart_' + this_id).click(function() { 
    $.ajax({ 
    type: "POST", 
    url: '/cart/', 
    data: JSON.stringify({"id": this_id, "amount": total_amt}), 
    contentType: "application/json; charset=UTF-8", 
    datatype: 'json', 
    async: false 
    }); 
}); 

並在瓶:

@app.route('/cart/', methods=["POST"]) 
def cart_update(): 
    if request.method == "POST": 
     data = request.get_json() 
     # more code 
    return resp # response with cookies 

現在,我想知道,有沒有真正做任何一點?我只需要在cookie中存儲一些數據,並且打給Flask的調用似乎沒有增加任何內容,所以也許我可以通過JS設置它們並從此過上愉快的生活。 還是有一些缺點?

回答

2

絕對不需要進行服務器端調用來設置所選產品cookie。在客戶端更新它是非常受歡迎的,因爲它會消除事務中的所有延遲。

要考慮的另一件事是,您的cookie將與一起發送,每服務器綁定請求。如果您不需要這種行爲(並且the browser support for it您可以使用),那麼您可以使用localStorage,並且只在用戶簽出時才發送選定的值。