我们浏览电子商城网站时,网站常常会将我曾经浏览过的商品信息保存统计在一起,以供用户后续查看。那么该如何实现这一功能呢?
其实,用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





















