session购物车中的移除功能部分(学生笔记)
function onclick_remove(r) {
if (confirm("确认删除么!此操作不可恢复")) {
var out_momey = $(".out_momey");
var input_val = $(r).parent().prev().children().eq(1).val();
var span_html = $(r).parent().prev().prev().children().html();
var out_add = parseFloat(input_val).toFixed(2) * parseFloat(span_html).toFixed(2);
var reduce = parseFloat(out_momey.html()).toFixed(2)- parseFloat(out_add).toFixed(2);
console.log(parseFloat(reduce).toFixed(2));
out_momey.text(parseFloat(reduce).toFixed(2))
$(r).parent().parent().remove();
//这里添加ajax到后台的代码,还需要动态的sku_id
var sku_id = $(r).attr('data-href');
var href = "?c=user&a=remove_goods&sku_id="+sku_id;
// alert(href);
// return false;
$.ajax({
cache: false,
type: "GET",
url : href,
// traditional:true,
// data: {order : serializeStr}, //注意这里的写法
success: function(msg){
// alert(msg);
// if(msg=="OK"){
// alert(msg);
// // Alert(50,"删除成功");
// // location.reload();
// }else{
// alert(msg);
// alert("添加失败");
// }
}
});
return false;
}
}

再具体展开每个商品项的代码。


上面的js代码主要是为了实现右侧的删除宝贝功能。业务流程是:
1.先获取商品的单价乘于商品的数量=小计。
2.然后把红色区域的div删掉。
3.总金额-=小计。
4.向php后台发送一个ajax请求
以下是ajax删除商品的代码,即从session数组中把它移除。
<?php
session_start(); $goods_id = $_GET['goods_id'];
$arr = $_SESSION['gwc'];
//从购物车中删除商品
unset($arr[$goods_id]); //如果把购物车最后一件东西都删除了,则删除购物车
if(empty($arr)){
unset($_SESSION['gwc']);//删除session数组中下标为gwc的元素。
//$_SESSION是一个数组,unset是对数组的操作的某个元素操作。就是删除那个元素。unset()函数并不能直接的释放变量,只是变量计数器减1,,当计数器为0的时候会触发回收。特别是当变量被引用的时候,只会销毁变量,但不会释放内存。为了确保信息的安全性,可以用 unset() 清空 session 的内容。
}else{
$_SESSION['gwc'] = $arr;//把数组里面的内容传给session,把那些商品信息存进session
} echo "OK";//msg传回来的
exit();
?>
session购物车中的移除功能部分(学生笔记)的更多相关文章
- springbootDay03 cookie和session 购物车技术
一.会话技术 1. 什么是会话 在计算机术语中,会话指的是客户端和服务器交互通讯的过程.简单的理解,大家可以看成是两个普通的人在打电话.一次电话从通话开始到挂断,可以看成是会话. 会话的特征 会话能够 ...
- Windows 10 版本 1507 中的新 AppLocker 功能
要查看 Windows 10 版本信息,使用[运行]> dxdiag 回车 下表包含 Windows 10 的初始版本(版本 1507)中包括的一些新的和更新的功能以及对版本 1511 的 W ...
- Android 短信模块分析(二) MMS中四大组件核心功能详解
接下来的分析先从MMS中四大组件(Activity ,BroadCastReceiver,Service,ContentProvider),也是MMS中最核心的部分入手: 一. Activity 1 ...
- winform中DataGridView实现分页功能
WinForm轻松实现自定义分页 (转载) WinForm轻松实现自定义分页 (转载) 转载至http://xuzhihong1987.blog.163.com/blog/static/26731 ...
- JAVA面向对象编程之购物车界面的设计与功能的实现
1.小组成员及分工 小组成员 负责工作 兰泽祥 负责总体界面.Git代码库 吴修恩 负责MVC模式.类名包名的规范化 2.Git 仓库地址 仓库地址:https://gitee.com/lanzexi ...
- ajax在购物车中的应用
代码如下: 购物车页面: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http: ...
- 使用session存储,购物车结算add_to_order.php(学生笔记)
<?php session_start(); include_once("DB.class.php"); //接受并解析前端传过来的json,转换成数组. $goods_li ...
- Vue项目中添加锁屏功能
0. 直接上 预览链接 Vue项目中添加锁屏功能 1. 实现思路 ( 1 ) 设置锁屏密码 ( 2 ) 密码存localStorage (本项目已经封装h5的sessionStorage和localS ...
- java web Session会话技术(原理图解+功能+与Cookie的区别+基本使用)
java web Session会话技术(原理图解+功能+与Cookie的区别+基本使用) 这是我关于会话技术的第二篇文章,对 Cookie有不了解的兄弟可以点击下方的Cookie跳转 Cookie链 ...
随机推荐
- 《Dotnet9》系列-开源C# WPF控件库2《Panuon.UI.Silver》强力推荐
时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...
- Ligg.EasyWinApp-000: 一款Windows应用编程框架介绍
本框架(解决方案)是一个Windows应用编程框架和UI库,通过该框架,不需任何代码,通过XML配置文件,搭建任意复杂的Windows应用界面,以类似Execel公式的方式实现基本的过程控制( ...
- Ubuntu Server 上在安装Nginx时执行./confgiure后提示:C compiler cc is not found
场景 Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detai ...
- Nezuko: 1 Vulnhub Walkthrough
下载地址: https://www.vulnhub.com/entry/nezuko-1,352/ 虚拟机启动,设置IP地址DHCP获取 主机发现扫描: 主机层面扫描: ╰─ nmap -p1-655 ...
- 位域-isa指针
一.isa指针结构 union isa_t { isa_t() { } isa_t(uintptr_t value) : bits(value) { } Class cls; uintptr_t bi ...
- threejs 限制物件只能在指定平面上拖拽
threejs提供有 DragController.js的例子来辅助拖拽 该例子可以在基于当前屏幕的x和y轴上拖拽物体,但是它不能影响z轴. 查看代码,可以在touchStart\mousedown下 ...
- Get提交数据过大,tomcat报错,信息: Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level
原因 get提交的数据过大,超过了默认值. 解决办法 get提交配置 设置tomcat的server.xml.找到我们启动的端口,一般是8080,增加maxHttpHeaderSize= " ...
- 从零开始的vue学习笔记(五)
单文件组件 Vue.component 来定义全局组件的缺点: 全局定义 (Global definitions) 强制要求每个 component 中的命名不得重复 字符串模板 (String te ...
- Koa 本地搭建 HTTPS 环境
openssl 首先本地需要安装 openssl,用于生成自签名证书. $ brew install openssl 检查安装: $ openssl version LibreSSL 2.6.5 生成 ...
- 字符串模式匹配——KMP算法
KMP算法匹配字符串 朴素匹配算法 字符串的模式匹配的方法刚开始是朴素匹配算法,也就是经常说的暴力匹配,说白了就是用子串去和父串一个一个匹配,从父串的第一个字符开始匹配,如果匹配到某一个失配了,就 ...