写一个ajax和jquery结合的购物车网页
时间: 2023-08-17 11:33:49 浏览: 119
以下是一个简单的购物车网页示例,使用了jQuery和Ajax技术:
HTML代码:
```
<!DOCTYPE html>
<html>
<head>
<title>购物车</title>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
</head>
<body>
<h1>购物车</h1>
<div>
<h2>商品列表</h2>
<ul>
<li data-id="1">
商品1
<button class="add-to-cart">加入购物车</button>
</li>
<li data-id="2">
商品2
<button class="add-to-cart">加入购物车</button>
</li>
<li data-id="3">
商品3
<button class="add-to-cart">加入购物车</button>
</li>
</ul>
</div>
<div>
<h2>购物车</h2>
<ul id="cart-items">
</ul>
<p>总价:<span id="total-price">0</span>元</p>
</div>
<script src="script.js"></script>
</body>
</html>
```
JavaScript代码:
```
// 点击加入购物车按钮时,将商品信息添加到购物车中
$('.add-to-cart').click(function() {
const itemId = $(this).parent().data('id');
$.ajax({
url: 'add-to-cart.php',
method: 'POST',
data: {id: itemId},
success: function(response) {
// 更新购物车列表和总价
updateCart(JSON.parse(response));
}
});
});
// 更新购物车列表和总价
function updateCart(cartData) {
$('#cart-items').empty();
let totalPrice = 0;
for (const item of cartData) {
$('#cart-items').append(`<li>${item.name} x ${item.quantity},单价${item.price}元</li>`);
totalPrice += item.price * item.quantity;
}
$('#total-price').text(totalPrice);
}
```
PHP代码(add-to-cart.php):
```
<?php
session_start();
// 如果购物车为空,创建一个空的购物车数组
if (!isset($_SESSION['cart'])) {
$_SESSION['cart'] = array();
}
// 将商品添加到购物车中
$cart = $_SESSION['cart'];
$itemId = $_POST['id'];
if (isset($cart[$itemId])) {
$cart[$itemId]['quantity']++;
} else {
$cart[$itemId] = array(
'name' => "商品{$itemId}",
'price' => rand(10, 100),
'quantity' => 1
);
}
$_SESSION['cart'] = $cart;
// 返回购物车信息
echo json_encode(array_values($cart));
```
在这个示例中,点击“加入购物车”按钮时,会通过Ajax技术将商品ID发送到服务器,服务器会将商品添加到购物车中,并返回购物车中所有商品的信息。然后使用jQuery更新购物车列表和总价。购物车信息存储在Session中。
阅读全文