Ⅰ 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,以便在最后付款时提取信息。