开发者问题收集

使用 AJAX 成功更新购物车数量 - WordPress

2014-04-20
688

在我的自定义 WordPress 主题中,我将购物车图标放在 header.php 中,并将其与其他内容一起放在 <li class="user-cart"> 中。我将数据库查询放在此 <li> 中,并使用“添加到购物车”按钮,我试图 重新加载 <li> ,以便它可以再次查询并显示添加的产品的更新数量。

如果 AJAX 成功,我可以使用以下命令执行此操作:

success: function (data) {
   $('.user-cart').load(window.location.href + ' .user-cart');
}

当我单击“添加到购物车”按钮时,它会使用更新的 count() 重新加载 <li> ,但它会在父 <li> 中获取另一个 <li> ,例如:

<li class="user-cart">
   <li class="user-cart">
      <a href="/view-cart"><span class="user-cart-icon"></span>&nbsp;15</a>
   </li> <!-- cloned li -->
</li> <!-- parent or original li -->

但好的部分是,克隆的 <li> 只加载一次,即在页面重新加载后的第一次单击时,然后所有计数都出现在第二个 <li> 中。

我的代码中哪里出错了?我不需要任何重复的 <li> — 只想重新加载 <li class="user-cart">

1个回答

您应该尝试这样做

success: function (data) {
   $('.user-cart').load(window.location.href + ' .user-cart a');
}

P.S 该响应 data 包含什么?我更愿意使用它来更新计数,而无需向服务器发出额外请求

code-jaff
2014-04-20