shopify ajax clear cart

时间:2013-10-04 18:49:11

标签: jquery shopify

我不熟悉AJAX / Javascript,所以我很难做一些简单的事情。

我尝试在有人将商品添加到购物车之前使用Shopify's AJAX API清除购物车。

我的代码目前看起来像这样:

    <script>
  function clearcart()
  {
    var my_button=$('input.addToCart');
my_button.on('click',function(){
    $.ajax({
        type: "POST",
        url: '/cart/clear.js',
        data: '',
        success: success,
        dataType: 'json',
        success: function() { 
            return Shopify.clear();

        },
        error: function(XMLHttpRequest, textStatus) {
          /* error code */
        }
    });

    return false;
});
  }
</script>
<input type="submit" name="add" value="Try Now" class="addToCart" onclick="clearcart();" "javascript:window.location='/cart' return false"/>

3 个答案:

答案 0 :(得分:1)

尝试将代码更新为:

 <script>
   function clearcart() {
    var my_button=$('input.addToCart');
    my_button.on('click',function(){
      $.ajax({
        type: "POST",
        url: '/cart/clear.js',
        data: '',
        dataType: 'json',
        success: function() { 
            Shopify.clear();
        },
        error: function(XMLHttpRequest, textStatus) {
          /* error code */
        }
      });
      return false;
    });
  }
</script>
<input type="submit" name="add" value="Try Now" class="addToCart" onclick="clearcart();" "javascript:window.location='/cart' return false"/>

答案 1 :(得分:0)

实际上Shopify.clear()会为您调用AJAX。所以你真正需要做的就是:

function clearCart() {
  Shopify.clear();
}

在您的表单中,您有onclick =“clearCart();”这会为你调用这个功能。

我看到你正在使用window.location做一些事情,如果你想要,你也可以通过利用可传递给Shopify.clear函数调用的回调来在clearCart函数中做到这一点:

function clearCart() {
  Shopify.clear(function(){
    window.location = "/cart";
  });
}

希望这有帮助。

答案 2 :(得分:0)

使用它清除购物车页面中的所有数据

$('.addToCart').click(function(){
  $.ajax({
    type: "POST",
    url: '/cart/clear.js',
    data: '',
    dataType: 'json',
    success: function() { 
      location.reload();
    },
    error: function(XMLHttpRequest, textStatus) {
      /* error code */
    }
  });
  return false;
});