我的网站上有一个购物车数量计数器,它没有显示产品已添加,直到重新加载页面或转到另一个页面。我希望数量计数器能够立即显示正在添加的产品。我在每一页上都有这个数量计数器。我确定可以使用Ajax添加这样的内容,但我不知道如何开始。
我现在就这样设置:
我的网站上的每个页面都有一个页面需要,名为loadProducts.php
它认为:
//Shopping Cart Quantity Count
if(isset($_SESSION['shopping_cart']) && is_array($_SESSION['shopping_cart'])) {
$totalquantity = 0;
foreach($_SESSION['shopping_cart'] AS $product) {
$totalquantity = $totalquantity + $product['quantity'];
}
}
else {
$totalquantity = 0;
}
有什么方法可以在我把东西放进购物车后立即加载吗?如果你想看看我的意思,我的网站是buyfarbest.com。如果您转到产品选项卡,然后添加产品。在为要配置的数量添加后,您必须转到另一个页面。
答案 0 :(得分:0)
您可以使用以下命令动态地请求此数据。
cartQuantity.php
<div id='shoppingCartCounter'></div>
<script type='text/javascript'>
function updateCartCounter() {
$.get('path/to/cartQuantity.php', function(json) {
var shoppingCartCounter = $('#shoppingCartCounter'); //Make a local variable to reference the appropriate div
if(json['success']) { shoppingCartCounter.html(json['shopping_cart_quantity']) } //populate it with the count
else shoppingCartCounter.html(''); //or erase the number altogether
});
}
</script>
并在你的HTML中:
updateCartCounter()
现在无论何时拨打setInterval(function(){ updateCartCounter(); }, 10000); //Update the counter every 10 seconds
,计数器都会这样做。您可以通过以下方式之一或两者执行此操作:
有间隔(效率不高)
function someCartOperation() { //This is whatever your application uses for adding/removing stuff in the cart
/*
Do all your important cart stuff
*/
updateCartCounter(); //You're done working on the cart, now update the counter
}
或在购物车操作功能
中{{1}}