我们浏览电子商城网站时,网站常常会将我曾经浏览过的商品信息保存统计在一起,以供用户后续查看。那么该如何实现这一功能呢?
其实,用js和cookies想结合的方式就可以实现商品浏览记录的保存和删除。今天小编就以真实代码实例教大家,下面的代码可以设置cookies、更新和删除。
//JS实现顾客浏览商品的记录以及实现购物车的功能 function setCookie(name,value) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Days*24*60*60*1000); //在最后追加 ;path=/ 非常有必要。否则容易出现 在不同的目录下,调用同一个js方法来存储Cookie,到别的目录取不出或取出的值是不对的这种情况 document.cookie = name + "="+ escape(value) +";expires="+ exp.toGMTString()+";path=/"; //name=value;时间 } function getCookie(name) { var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); // name= ; if(arr != null){ alert("我是getCookie()方法:"+unescape(arr[2])); return unescape(arr[2]); } return null; } function delCookie(name) { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval=getCookie(name); if(cval!=null) document.cookie=name +"="+cval+";expires="+exp.toGMTString(); } /** * 加入购物车,存入cookie */ function goBuy(id, price) { var basePath = document.getElementById("basePath").getAttribute("value"); var newCookie = ""; var oldCookie = getCookie("product"); if(oldCookie) { //如果已经存在在cookie中,则不再添加 if(inArray(oldCookie.split(","), id)) { newCookie = oldCookie; } else { newCookie = id + "," + oldCookie; } } else { newCookie = id; } setCookie("product", newCookie); location.href = basePath+"servlet/CookieServlet?param=car&pid="+id; } /** * 浏览记录,存入cookie */ function goView(id){ var basePath = document.getElementById("basePath").getAttribute("value"); var newCookie = ""; var oldCookie = getCookie("listView"); if(oldCookie) { if(inArray(oldCookie.split(","), id)) { newCookie = oldCookie; } else { newCookie = id + "," + oldCookie; } } else { newCookie = id; } setCookie("listView", newCookie); location.href = basePath+"servlet/CookieServlet?param=listView&pid="+id; }
补充:js的内容传送到后台,是需要解码的。将接收到的字符串解码如下:
java.net.URLDecoder.decode(realName,"UTF-8");
声明:如需转载,请注明来源于www.webym.net并保留原文链接:http://www.webym.net/jiaocheng/1055.html