Ⅰ localStorage結合cookie實現購物車,可行嗎
共同點來:都是保存在瀏覽器端,且源同源的。
區別:cookie數據始終在同源的http請求中攜帶(即使不需要),即cookie在瀏覽器
和伺服器間來回傳遞。而localStorage不會自動把數據發給伺服器,僅在本地保存。cookie數據還有路徑
(path)的概念,可以限制cookie只屬於某個路徑下。存儲大小限制也不同,cookie數據不能超過4k,同時因為每次http請求都會攜帶
cookie,所以cookie只適合保存很小的數據,如會話標識。localStorage
雖然也有存儲大小的限制,但比cookie大得多,可以達到5M或更大。數據有效期不同,localStorage:始終有效,窗口或瀏覽器關閉也一直保存,因此用作持久數據;cookie只在設置的cookie過期
時間之前一直有效,即使窗口或瀏覽器關閉。作用域不同,localStorage 在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的。Web Storage
支持事件通知機制,可以將數據更新的通知發送給監聽者。Web Storage 的 api 介面使用更方便。
Ⅱ js本地存儲怎麼實現
userData
語法:
XML<Prefix: CustomTag ID=sID STYLE="behavior:url('#default#userData')" />
HTML<ELEMENT STYLE="behavior:url('#default#userData')" ID=sID>
Scriptingobject .style.behavior = "url('#default#userData')"
object .addBehavior ("#default#userData")
屬性:
expires 設置或者獲取 userData behavior 保存數據的失效日期。
XMLDocument 獲取 XML 的引用。
方法:
getAttribute() 獲取指定的屬性值。
load(object) 從 userData 存儲區載入存儲的對象數據。
removeAttribute() 移除對象的指定屬性。
save(object) 將對象數據存儲到一個 userData 存儲區。
setAttribute() 設置指定的屬性值。
localStorage
方法:
localStorage.getItem(key):獲取指定key本地存儲的值
localStorage.setItem(key,value):將value存儲到key欄位
localStorage.removeItem(key):刪除指定key本地存儲的值
localData={
hname:location.hostname?location.hostname:'localStatus',
isLocalStorage:window.localStorage?true:false,
dataDom:null,
initDom:function(){//初始化userData
if(!this.dataDom){try{this.dataDom=document.createElement('input');//這里使用hidden的input元素
this.dataDom.type='hidden';this.dataDom.style.display="none";this.dataDom.addBehavior('#default#userData');//這是userData的語法
document.body.appendChild(this.dataDom);varexDate=newDate();
exDate=exDate.getDate()+30;this.dataDom.expires=exDate.toUTCString();//設定過期時間
}catch(ex){returnfalse;
}
}returntrue;
},
set:function(key,value){if(this.isLocalStorage){
window.localStorage.setItem(key,value);
}else{if(this.initDom()){this.dataDom.load(this.hname);this.dataDom.setAttribute(key,value);this.dataDom.save(this.hname)
}
}
},
get:function(key){if(this.isLocalStorage){returnwindow.localStorage.getItem(key);
}else{if(this.initDom()){this.dataDom.load(this.hname);returnthis.dataDom.getAttribute(key);
}
}
},
remove:function(key){if(this.isLocalStorage){
localStorage.removeItem(key);
}else{if(this.initDom()){this.dataDom.load(this.hname);this.dataDom.removeAttribute(key);this.dataDom.save(this.hname)
}
}
}
}
Ⅲ 實現購物車(保存到session和資料庫)
錯了。SESSION也是伺服器的,COOKIE才是客戶機上的。保存在資料庫上吧。安全些
Ⅳ 實現美團,餓了么購物車效果,並本地存儲相關數據
厲害了厲害了
Ⅳ java中寫商品購物車怎麼實現每種商品總價都隨商品數量變化而變化
一般就是你在頁面增加監聽事件,每次修改商品數量就重新計算總價
Ⅵ android端採用什麼方式存儲加入購物車的商品
應該是訪問伺服器,伺服器返回json,解析xml,存儲為SharedPreferences吧,
當然本地可以採用文件存儲,也可以使用sqlite資料庫進行存儲,主要是程序員最喜歡的方式,手段很多,
Ⅶ 購物車怎麼實現
下面分析一下它們的機制及作用。 1. cookiecookie是由伺服器產生,存儲在客戶端的一段信息。它定義了一種伺服器在客戶端存儲和返回信息的機制,cookie文件它包含域、路徑、生存期、和由伺服器設置的變數值等內容。當用戶以後訪問同一個Web伺服器時,瀏覽器會把cookie原樣發送給伺服器。通過讓伺服器讀取原先保存到客戶端的信息,網站能夠為瀏覽者提供一系列的方便,例如在線交易過程中標識用戶身份、安全要求不高的場合避免用戶重復輸入名字和密碼、門戶網站的主頁定製、有針對性地投放廣告等等。利用cookie的特性,大大擴展了WEB應用程序的功能,不僅可以建立伺服器與客戶機的聯系,因為cookie可以由伺服器定製,因此還可以將購物信息生成cookie值存放在客戶端,從而實現購物車的功能。用基於cookie的方式實現伺服器與瀏覽器之間的會話或購物車,有以下特點: n cookie存儲在客戶端,且佔用很少的資源,瀏覽器允許存放300個cookie,每個cookie的大小為4KB,足以滿足購物車的要求,同時也減輕了伺服器的負荷; n cookie為瀏覽器所內置,使用方便。即使用戶不小心關閉了瀏覽器窗口,只要在cookie定義的有效期內,購物車中的信息也不會丟失; n cookie不是可執行文件,所以不會以任何方式執行,因此也不會帶來病毒或攻擊用戶的系統; n 基於cookie的購物車要求用戶瀏覽器必須支持並設置為啟用cookie,否則購物車則失效; n 存在著關於cookie侵犯訪問者隱私權的爭論,因此有些用戶會禁止本機的cookie功能。 2. sessionsession是實現購物車的另一種方法。session提供了可以保存和跟蹤用戶的狀態信息的功能,使當前用戶在session中定義的變數和對象能在頁面之間共享,但是不能為應用中其他用戶所訪問,它與cookie最重大的區別是,session將用戶在會話期間的私有信息存儲在伺服器端,提高了安全性。在伺服器生成session後,客戶端會生成一個sessionid識別號保存在客戶端,以保持和伺服器的同步。這個sessionid是只讀的,如果客戶端禁止cookie功能,session會通過在URL中附加參數,或隱含在表單中提交等其他方式在頁面間傳送。因此利用session實施對用戶的管理則更為安全、有效。 同樣,利用session也能實現購物車,這種方式的特點是: n session用新的機制保持與客戶端的同步,不依賴於客戶端設置; n 與cookie相比,session是存儲在伺服器端的信息,因此顯得更為安全,因此可將身份標示,購物等信息存儲在session中; n session會佔用伺服器資源,加大伺服器端的負載,尤其當並發用戶很多時,會生成大量的session,影響伺服器的性能; n 因為session存儲的信息更敏感,而且是以文件形式保存在伺服器中,因此仍然存在著安全隱患。 3. 結合資料庫的方式 這也是目前較普遍的模式,在這種方式中,資料庫承擔著存儲購物信息的作用,session或cookie則用來跟蹤用戶。這種方式具有以下特點: n 資料庫與cookie分別負責記錄數據和維持會話,能發揮各自的優勢,使安全性和伺服器性能都得到了提高; n 每一個購物的行為,都要直接建立與資料庫的連接,直至對表的操作完成後,連接才釋放。當並發用戶很多時,會影響資料庫的性能,因此,這對資料庫的性能提出了更高的要求; n 使cookie維持會話有賴客戶端的支持。 各種方式的選擇: 雖然cookie可用來實現購物車,但必須獲得瀏覽器的支持,再加上它是存儲在客戶端的信息,極易被獲取,所以這也限制了它存儲更多,更重要的信息。所以一般cookie只用來維持與伺服器的會話,例如國內最大的當當網路書店就是用cookie保持與客戶的聯系,但是這種方式最大的缺點是如果客戶端不支持 cookie就會使購物車失效。 Session 能很好地與交易雙方保持會話,可以忽視客戶端的設置。在購物車技術中得到了廣泛的應用。但session的文件屬性使其仍然留有安全隱患。 結合資料庫的方式雖然在一定程度上解決了上述的問題,但從上面的例子可以看出:在這種購物流程中涉及到對資料庫表的頻繁操作,尤其是用戶每選購一次商品,都要與資料庫進行連接,當用戶很多的時候就加大了伺服器與資料庫的負荷 我們公司採用的是資料庫的方式 1、用戶瀏覽系統,獲取用戶機器的MAC地址 2、如果用戶購買物品,添加到資料庫裡面,同時插入機器的MAC地址,也是用戶的ID標示 3、如果用戶登錄系統,用用戶真實的ID,更新當前機器的MAC對應的記錄。
Ⅷ 請問淘寶購物車是保存在阿里旺旺上還是本地
只要你登陸了淘寶,而且把商品放在購物車里,你在其他地方是可以看到的,希望對您有幫助
Ⅸ 存儲本地數據的方法
如果只是很少的數據,比如幾十條上百條,那沒啥太大區別,但是的效率要比資料庫低的多,如果你的數據到了一個數量級,比如上萬條,那用xml就不太適合了,這個並沒有嚴格規定,跟你的電腦配置也有關系。(比如說到了10萬條,但是你又把電腦升級成固態硬碟陣列去提升磁碟效率)
至於說不想使用專門的資料庫工具,我不太清楚你指什麼,一般常用的桌面資料庫比如access、sqllite這些,無論哪種在軟體發布運行後,都不需要使用什麼資料庫工具。當然,在有些時候為了管理工具,可能是要用到管理工具,access本身是office就帶的,sqllite的管理器一般也非常小。
存儲本地數據可以用Cookie,有時也用其復數形式Cookies,指某些網站為了辨別用戶身份、進行session跟蹤而儲存在用戶本地終端上的數據(通常經過加密)。定義於RFC2109和2965都已廢棄,最新取代的規范是RFC6265。
伺服器可以利用Cookies包含信息的任意性來篩選並經常性維護這些信息,以判斷在HTTP傳輸中的狀態。Cookies最典型的應用是判定注冊用戶是否已經登錄網站,用戶可能會得到提示,是否在下一次進入此網站時保留用戶信息以便簡化登錄手續,這些都是Cookies的功用。
另一個重要應用場合是「購物車」之類處理。用戶可能會在一段時間內在同一家網站的不同頁面中選擇不同的商品,這些信息都會寫入Cookies,以便在最後付款時提取信息。