如何获得购物车数量计数不需要页面重新加载或不同的页面计数
How to get shopping cart quantity count to not require page reload or different page to count
我有下面的代码,它给了我一个购物车中有多少商品的实时计数。问题是,它并不是那么鲜活。我必须重新加载页面或转到另一个页面才能显示。
我的方法是下面的代码是在一个名为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;
}
我不太了解Ajax,但我认为这可能是唯一的选择。
与会话一起运行有关系吗?我怎样才能在每个页面上显示一个活动元素,这样当我点击添加到购物车时,它就会发生?
假设您熟悉jQuery,您可以使用以下jQuery ajax调用:
$("#yourFormId").submit(function(){ // or if you have link use click function
var jqxhr = $.ajax({
method: "POST", // or GET
url: "Your PHP to find count",
data: // any request param you want to send to your PHP
})
.done(function(content) {
// display the count
})
.fail( function(xhr, textStatus) {
// display the error
})
.always(function() {
});
});
您需要再添加一行来更新显示购物车编号的DOM元素。
例如,如果您的购物车元素如下:
<button class="shopping-cart">Shopping cart (<span class="cart-item-count">0</span>)</button>
然后你只需要更新它:
$('.cart-item-count').text($totalquantity);
在javascript代码的成功响应中,您发送了一个将产品添加到购物车的请求。您必须使用ajax请求已经在您的页面中添加产品到购物车,因为如果不是这种情况,您将提交一个页面已经重新加载,因此计数已经更新。
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Emberjs应用程序加载在除Index之外的所有路由上
- 在chrome.tabs.onCreated之后加载HTML页面
- 单击F5时如何停止页面加载
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 跟踪在页面加载时应用内联样式的JavaScript
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- jQuery Lazy加载动画滚动
- Html页面上的多个Base64图像和平滑加载
- 如何创建带有插槽的vue js组件预加载程序
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 如何使该数据在所有元素中加载
- Chrome扩展没有't在重新加载之前考虑期权价值
- 使用javascript在Flash中加载外部图像
- WooCommerce 购物车数量按钮仅在重新加载后显示
- 防止在将项目提交到购物车时重新加载页面
- 如何获得购物车数量计数不需要页面重新加载或不同的页面计数