正在回答 回答被采纳积分+1
2回答
JakePrim
2020-04-22 17:46:02
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | addItemToShopcart(pendingItem) { // 判断有没有购物车,如果没有购物车,则new 一个购物车list // 如果有购物车,则直接把shopcartItem丢进去 var foodieShopcartCookie = this .getCookie( "shopcart" ); var foodieShopcart = []; if (foodieShopcartCookie != null && foodieShopcartCookie != "" && foodieShopcartCookie != undefined) { var foodieShopcartStr = decodeURIComponent(foodieShopcartCookie); foodieShopcart = JSON.parse(foodieShopcartStr); // 如果不是对象,则重新复制为空数组 if ( typeof (foodieShopcart) != "object" ) { foodieShopcart = []; } var isHavingItem = false ; // 如果添加的商品已经存在与购物车中,则购物车中已经存在的商品数量累加新增的 for ( var i = 0 ; i < foodieShopcart.length ; i ++) { var tmpItem = foodieShopcart[i]; var specId = tmpItem.specId; if (specId == pendingItem.specId) { isHavingItem = true ; var newCounts = tmpItem.buyCounts + pendingItem.buyCounts; tmpItem.buyCounts = newCounts; // 删除主图在数组中的位置 foodieShopcart.splice(i, 1, tmpItem); } } if (!isHavingItem) { foodieShopcart.push(pendingItem); } } else { foodieShopcart.push(pendingItem); } console.log( "addshopcart cookie" ,JSON.stringify(foodieShopcart)); this .setCookie( "shopcart" , JSON.stringify(foodieShopcart)); console.log( "getCookie" + this .getCookie( "shopcart" )); }, |
在发布的前端项目 打印结果是:
setCookie 之后在getCookie 获取的为null 不知道为啥
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧