2013-04-27 55 views
0

我想要使用由servlet創建的Javascript來更改cookie的值。我有2 textfields有一個用於Price的另一個數量&的情況。首先,我將名爲BookID &的cookie作爲數量(初始設置爲1)推入。但是,如果用戶想要更改數量字段,那麼我必須修改尊重Cookie值。情況是:
我可以更改現有cookie的值嗎?

enter image description here

正如你看到的每一行都有保存按鈕。當我點擊這個按鈕時,它應該乘以價格&數量並將結果總計。我無法使用form標記,因爲一個form標記已存在Make Payment按鈕。像Flipcart,Homeshop18這樣的所有網站都會這樣做。任何關於我的情況的想法?請建議。

<form action="Pay.jsp" method="post"> 
<tr> 
    <td><%= i+1 %></td> 
    <td><img src="<%= image %>" width="55" height="73"/></td> 
    <td><%= bookName %></td> 
    <td><%= price %></td> 
    <td><input type="text" name='quantity<%= i+1 %>' class="round" value="<%= qnty %>"/></td> 
    <td><input type="text" name='total<%= i+1 %>' class="round" value="<%= totalPrice %>" readonly="readonly"/></td> 
    <td> 
     <a href="/ChangeCookie" class="table-actions-button ic-save"></a> 
     <a href="#" class="table-actions-button ic-table-delete"></a> 
    </td> 
</tr> 
<input type="submit" value="Pay"/> 
</form> 

/ChangeCookie是一個servlet。使用servlet解決這個問題看起來是不可能的,那就是爲什麼我要求Javascripts Experts有沒有任何過程來改變cookieJavascript這是由Servlet創建的。如果是,那麼請把代碼放在這裏我會測試它。

+0

基本上,您正在通過Cookie實施您的購物車。不,不要那樣做! – 2013-04-27 16:24:56

+0

[Here](http://stackoverflow.com/q/7215547/1344509)解釋瞭如何更新/刪除Cookie。 – Ikrom 2013-04-27 17:07:35

回答

2

你的問題不在於實現,而在於它的體系結構。

將用戶交互數據保留在客戶端不是一個好主意,因爲它可以很容易地在那裏被操縱,複製或欺騙。

如果我在你的鞋子裏,我只在客戶端cookie中存儲用戶會話ID,在服務器端將該會話ID與用戶ID相匹配,然後該用戶ID將指向我在服務器上保存的數據關於用戶狀態和交互。

這將增加應用程序的安全性。由於通常服務器應用程序正在以這種方式流動,因此您會發現編程無縫,而且沒有像您要求的那樣的障礙。

希望這會有所幫助。

相關問題