Rumah > Artikel > hujung hadapan web > Kaedah jQuery untuk melaksanakan troli beli-belah berdasarkan json dan cookies_jquery
Contoh dalam artikel ini menerangkan cara jQuery melaksanakan troli beli-belah berdasarkan json dan kuki. Kongsikan dengan semua orang untuk rujukan anda, butirannya adalah seperti berikut:
format json:
[{'ProductID':ABC','Num':'1'},{'ProductID':DEF,'Num':'2'}]
Pemalam $.cookie digunakan di sini. Kod pemalam ini ada di penghujung artikel
/* 添加商品及数量到购物车cookie中,返回当前商品在cookie中的总数 */ function AddToShoppingCar(id, num) { var _num = 1; if (num != undefined) _num = num; var totalNum = _num; //总数默认为传入参数 var cookieSet = { expires: 7, path: '/' }; //设置cookie路径的 // $.cookie(cookieProductID, null, cookieSet);//清除Cookie var jsonStr = "[{'ProductID':'" + id + "','Num':'" + _num + "'}]"; //构造json字符串,id是商品id num是这个商品的数量 if ($.cookie(cookieProductID) == null) { $.cookie(cookieProductID, jsonStr, cookieSet); //如果没有这个cookie就设置他 } else { var jsonObj = eval('(' + $.cookie(cookieProductID) + ')'); //如果有,把json字符串转换成对象 var findProduct = false;//是否找到产品ID,找到则为TRUE,否则为FALSH for (var obj in jsonObj) { if (jsonObj[obj].ProductID == id) { jsonObj[obj].Num = Number(jsonObj[obj].Num) + _num; totalNum = jsonObj[obj].Num; findProduct = true; break; } } if (findProduct == false) { //没找到,则添加 jsonObj[jsonObj.length] = new Object(); jsonObj[jsonObj.length - 1].ProductID = id; jsonObj[jsonObj.length - 1].Num = num; } $.cookie(cookieProductID, JSON.stringify(jsonObj), cookieSet); //写入coockie JSON需要json2.js支持 } return totalNum; // alert($.cookie(cookieProductID)); }
//以下为cookie插件代码 jQuery.cookie = function(name, value, options) { if (typeof value != 'undefined') { // name and value given, set cookie options = options || {}; if (value === null) { value = ''; options.expires = -1; } var expires = ''; if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { var date; if (typeof options.expires == 'number') { date = new Date(); date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); } else { date = options.expires; } expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE } var path = options.path ? '; path=' + options.path : ''; var domain = options.domain ? '; domain=' + options.domain : ''; var secure = options.secure ? '; secure' : ''; document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); } else { // only name given, get cookie var cookieValue = null; if (document.cookie && document.cookie != '') { var cookies = document.cookie.split(';'); for (var i = 0; i < cookies.length; i++) { var cookie = jQuery.trim(cookies[i]); // Does this cookie string begin with the name we want? if (cookie.substring(0, name.length + 1) == (name + '=')) { cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); break; } } } return cookieValue; } };
Pembaca yang berminat dengan lebih banyak kandungan berkaitan jQuery boleh menyemak topik khas di tapak ini: "Ringkasan kemahiran operasi kuki JQuery", "ringkasan kemahiran operasi jadual (jadual) jQuery" , "Ringkasan kesan dan teknik seret jQuery", "Ringkasan teknik sambungan jQuery", "Ringkasan kesan khas klasik biasa jQuery", "ringkasan penggunaan jQuery dan kesan khas", "ringkasan penggunaan pemilih jquery" dan "ringkasan pemalam dan penggunaan biasa jQuery"
Saya harap artikel ini akan membantu semua orang dalam pengaturcaraan jQuery.