AJAX无刷新加购物车

<?php
namespace Home\Controller;
use Think\Controller;
class ShoppingcartController extends Controller {
public function shoppingcart(){
if(IS_AJAX){
if(!$_SESSION[‘userid‘]){
$this->error(‘请先登录‘,U(‘‘));
}else{
$vid=$_SESSION[‘userid‘];
$pid=$_POST[‘productid‘];
$data[‘user_id‘]=$_SESSION[‘userid‘];
$data[‘time‘]=time();
$product=M(‘products‘)->where(‘id="‘.$_POST[‘productid‘].‘"‘)->select();
$data[‘product-name‘]=$product[0][‘title‘];
$data[‘number‘]=$_POST[‘num‘];
$data[‘unit-price‘]=$product[0][‘present‘];
$data[‘color‘]=$_POST[‘color‘];
$data[‘size‘]=$_POST[‘size‘];
$data[‘img‘]=$product[0][‘image1‘];
$result=M(‘shopping_cart‘)->where("user_id=‘$vid‘ and pid=".$pid)->find();
if($result){
$data[‘num‘]=$result[‘num‘]+$data[‘num‘];
$result=M(‘shopping_cart‘)->where("user_id=‘$vid‘ and pid=".$pid)->save($data);
}else{
$result=M(‘shopping_cart‘)->add($data);
}
if($result){
echo 1;
}else{
echo 0;
}
}
}else{
$this->display();
}
}
}

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<meta name="viewport" content="width=device-width, initial-scale=1.0" />

<link rel="stylesheet" href="__PA__css/bootstrap.css" />

<link rel="stylesheet" href="__PA__css/product_center.css" />

<title></title>

</head>

<body>

<!--header-->

<div class="header">

<div class="header_top">

<div class="container">

<ul style="display: -webkit-inline-box;" class="nav nav-pills">

<?php if (!empty($_SESSION[‘userid‘])): ?>
<span style="color:#fff;">会员:</span>
<a href="{:U(‘Home/Membercenter/membercenter‘)}">{$_SESSION[‘userid‘][‘nick‘]}</a><a href="{:U(‘Login/out‘)}">退出</a>
<?php else: ?>
<li><a href="{:U(‘Home/Login/login‘)}">登陆</a></li>
<li><a href="{:U(‘Home/Registration/registration‘)}">免费注册</a></li>
<?php endif ?>

</ul>

</div>

</div>

</div>

<!--header end-->

<!--content-->

<div class="content">

<div class="container">

<div class="logo">

<a href="index.html"><img src="__PA__img/logo_02.png" alt="logo_02" class="img-responsive" /></a>

</div>

<div class="sm_nav navbar-header">

<button type="button" class="btn navbar-toggle" data-toggle="collapse" data-target="#example-navbar-collapse">

<span class="icon-style"></span>

<span class="icon-style"></span>

<span class="icon-style"></span>

</button>

</div>

<div class="nav_first collapse navbar-collapse" id="example-navbar-collapse">

<div class="nav_logo"><a href="index.html"><img src="__PA__img/logo_02.png" alt="logo_02" class="img-responsive" /></a></div>

<ul class="nav navbar-nav">

<li><a href="{:U(‘Home/Index/index‘)}">首页</a></li>

<li><a href="{:U(‘Home/About/about‘)}">品牌介绍</a></li>

<li><a href="{:U(‘Home/News/news‘)}">新闻中心</a></li>

<li><a class="default" href="{:U(‘Home/Products/products‘)}">产品中心</a></li>

<li><a href="{:U(‘Home/Contact/contact‘)}">联系我们</a></li>

<li><a href="{:U(‘Home/Membercenter/membercenter‘)}">个人中心</a></li>

</ul>

</div>

<div class="place">
<form method="post" action="{:U(‘productscenter‘)}">
<p>当前位置</p>

<img src="__PA__img/icon_place_02.png" alt="icon_place_02" />

<p><a href="{:U(‘Home/Products/products‘)}">产品中心</a></p>

</div>

<div class="center_show">

<div class="row">

<div class="col-md-2 col-xs-12">

<div class="subnav">
<input type="hidden" value="{$sdf[‘id‘]}" name="id"/>
<ul>
<volist name="pcs" id="per" >

<li <?php if ($per[‘cid‘]==$cid){ echo ‘class="default_styel"‘;}?>><a href="{:U(‘Home/products/products/cid/‘.$per[‘cid‘])}">{$per[‘name‘]}</a></li>

</volist>

</ul>

</div>

<div class="xs_nav input-group">

<span class="input-group-btn dropdown">

<button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button">服装类型</button>

<ul class="dropdown-menu" role="menu">

<volist name="pcs" id="per" >

<li <?php if ($per[‘cid‘]==$cid){ echo ‘class="default_styel"‘;}?>><a href="{:U(‘Home/products/products/cid/‘.$per[‘cid‘])}">{$per[‘name‘]}</a></li>

</volist>
</ul>

</span>

</div>

</div>

<div class="col-md-10 col-sm-12 col-xs-12">

<div class="product_show">

<div class="show_top">

<div class="show_img">

<img style="width:232px; height:320px; " src="__PP__{$sdf[‘image1‘]}" alt="product_pic_04" />

</div>

<div class="show_text">

<h4>{$sdf[‘title‘]}</h4>

<div class="price">

<p>价格 ¥ &nbsp;<strike>{$sdf[‘original‘]}</strike></p>
<input type="hidden" value="{$sdf[‘original‘]}" name="price"/>
<span>

<i>1342</i><br />

交易成功

</span>

<h2><i>¥</i>&nbsp;&nbsp;{$sdf[‘present‘]}</h2>

</div>

<p class="place_message ">

<i>尺码</i>

<volist name="si" id="ze" >

<span class="size" onClick="size({$ze[‘id‘]})" name="{$ze[‘id‘]}">{$ze[‘size‘]}</span>

</volist>

</p>

<p class="place_message">
<i>颜色</i>

<volist name="pq" id="ca">
<span class="color" onClick="color({$ca[‘id‘]})" name="{$ca[‘id‘]}">{$ca[‘color‘]}</span>

</volist>
</p>

<p>

<i>数量</i>

<input type="text" value="1" name="num" id="num"/>

</p>

<a style="margin-left: 125px; margin-top: 20px;" class="shopping" href="javascript:void(0)" onClick="add_cart({$sdf[‘id‘]})">立即购买</a>

<a style="margin-top: 20px;" class="shopping" href="javascript:void(0)" onClick="add_cart({$sdf[‘id‘]})">加入购物车</a>

</div>

</div>
</div>

</div>

</div>

</div>

</div>

</div>
</form>
</body>

<script type="text/javascript" src="__PA__js/jquery-1.11.0.js"></script>

<script>

$(document).ready(function(){
$(‘.image ul li‘).children(‘img‘).css(‘border‘,‘1px solid transparent‘);
$(‘.image ul li‘).eq(0).children(‘img‘).css(‘border‘,‘1px solid #999‘);
$(‘.image ul li‘).click(function(){
$(this).children(‘img‘).css(‘border‘,‘1px solid #999‘).parent().siblings().children(‘img‘).css(‘border‘,‘1px solid transparent‘);
})
})

</script>
<script>

</script>

<script type="text/javascript" src="__PA__js/bootstrap.js"></script>

<script type="text/javascript" src="__PA__js/nav_logo.js"></script>

</html>

<script>
function color(colorid){//自定义点击事件onClick="size({$ze[‘id‘]})"
c_id=colorid;

}
function size(sizeid){//自定义点击事件onClick="color({$ca[‘id‘]})"
s_id=sizeid;

}

function add_cart(productid){//自定义点击事件onClick="add_cart({$sdf[‘id‘]})"

if(typeof c_id=="undefined"){//判断是否选择颜色
alert(‘请选择产品颜色‘);
}
if(typeof s_id=="undefined"){//判断是否选择尺寸
alert(‘请选择产品尺寸‘);
}
var url="{:U(‘Shoppingcart/shoppingcart‘)}";//跳转到后台的某个方法
var num=$("#num").val();//抓取数量
var data=‘productid=‘+productid+‘&num=‘+num+‘&color=‘+c_id+‘&size=‘+s_id;//把所有数据传往后台
var success=function(dat){
if(dat==8){
alert(‘请先登录!‘);window.location.href="{:U(‘Login/index‘)}";
}else if(dat==1){
alert(‘添加购物车成功!‘);
}else if(dat==0){
alert(‘添加购物车失败!‘);
}else{
alert(‘请先登录‘);window.location.href="{:U(‘Login/login‘)}";
}
}
$.post(url,data,success);//执行成功回调函数
}
</script>

<script>

时间: 2024-10-25 04:26:36

AJAX无刷新加购物车的相关文章

瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据

瀑布流加载显示数据,在当下已经用的很普遍,尤其是我们在做网上商城时,在产品列表页面已经被普遍使用. 对于实现瀑布流布局的解决方案主要有以下两种方式: 1.对每一条显示数据使用绝对定位+浮动的方式,这样也会有一个问题----必须要知道每一条信息的具体高宽度 2.采用列布局,将每一条数据依次放置到每一列 其实两者的实现原理都是大同小异,现在我将针对第二种解决方案,用一个具体的事例来说明 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2

AJAX无刷新加入购物车(基本代码)

<form method="post" action="{:U('products')}">//用form表单传数据到脚本<div class="content"> <div class="top"> <div class="line"></div> <div class="title"> <span>P

thinkphp5.0调用ajax无刷新加载数据

控制器层那边就是调数据返回,这里不再赘述,视图层页面ajax部分写法如下 1 function shanchu(obj) 2 { 3 var code = $(obj).attr("code"); 4 5 $.ajax({ 6 url:"/index400/Test/sc", 7 data:{code:code}, 8 type:"POST", 9 dataType:"TEXT", 10 success: function(d

jquery+ajax无刷新加载数据,新闻浏览更多

<script type="text/javascript"> $(document).ready(function (){ $(window).scroll(function(){ var page = 1; totalheight = parseFloat($(window).height()) + parseFloat($(window).scrollTop()); if($(document).height() <= totalheight){ page++;

DWZ框架Ajax无刷新表单提交处理流程

DWZ框架Ajax无刷新表单提交处理流程是: 1.       ajax表单提交给服务器 2.       服务器返回一个固定格式json结构 3.       js会调函数根据这个json数据做相应的处理 注意: DWZ框架默认的ajax表单提交都是返回json数据,告诉客户端操作是否成功,成功或失败提示信息,以及成功后的处理方式(刷新某个navTab或关闭某个navTab或navTab页面跳转). 表单提交后服务器操作失败了,客户端接收statusCode和message后给出错误提示,表单

jquery ajax无刷新删除

职位列表里面显示应聘的简历: 点击简历的数量,弹出层(用load方法调用加载) 弹出的层里面删除简历(无刷新删除),实现方法 ? 1 2 3 4 5 6 7 8 9 10 11 12 $(".Del a").click(function () {             var mid = $(this).attr("name");               var jobid = $(this).attr("lang"); //职位id   

struts2+jquery 实现ajax无刷新更新数据

前几天为了实现一个struts 的 ajax无刷新更新数据的例子,发现网上资料很少,很多已经过时或者链接都失效了 不过整合他们的资料,加上自己的研究,终于实现了效果 要求:1.各个学院提交学生数据到服务器,要求ajax 无刷新更新数据, 2.服务器端返回"更新成功"的提示窗口: 3.之后,使用jquery 更新input输入框的value值,为实现jquery 打印页面局部数据做准备. 此处使用struts2的第二种方法,(修改struts 配置文件,增加ajax package 的方

emlog通过pjax实现无刷新加载网页--完美解决cnzz统计和javascript失效问题

想要更详细了解pjax,需要查看官网 或者看本站文章:jQuery.pjax.js:使用AJAX和pushState无刷新加载网页(官网教程中文翻译) 效果看本站,音乐无刷新播放,代码高亮和复制js加载成功- 准备文件 编辑模板 header.php 的 head 添加必要文件: jquery-1.11.1.min.js:百度网盘下载 jquery.pjax-1.8.2.min.js:百度网盘下载 下载到模板的 scripts 目录下后将下面两句添加到</head>所有script标签的最前面

Ajax无刷新(二)三级联动

1 写一个公用页面 2 <% 3 String path = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath(); 4 System.out.println(path); 5 request.setAttribute("path",path); 6 %> 1 其他页面需要绝对路径的话