Jquery 购物车

Jquery 购物车,jquery,shopify,Jquery,Shopify,我不太熟悉AJAX/Javascript,所以我很难做一些简单的事情 我正在尝试在有人将项目添加到购物车之前清除购物车 我的代码当前如下所示: <script> function clearcart() { var my_button=$('input.addToCart'); my_button.on('click',function(){ $.ajax({ type: "POST", url: '/cart/clea

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

我正在尝试在有人将项目添加到购物车之前清除购物车

我的代码当前如下所示:

    <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"/>

函数clearcart()
{
var my_button=$('input.addToCart');
my_按钮。在('单击',函数()上){
$.ajax({
类型:“POST”,
url:“/cart/clear.js”,
数据:“”,
成功:成功,
数据类型:“json”,
成功:函数(){
return Shopify.clear();
},
错误:函数(XMLHttpRequest,textStatus){
/*错误代码*/
}
});
返回false;
});
}

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

function clearCart() {
  Shopify.clear();
}
在表单中有onclick=“clearCart();”,它将为您调用该函数

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

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

希望这有帮助。

尝试将代码更新为:

 <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"/>

函数clearcart(){
var my_button=$('input.addToCart');
my_按钮。在('单击',函数()上){
$.ajax({
类型:“POST”,
url:“/cart/clear.js”,
数据:“”,
数据类型:“json”,
成功:函数(){
Shopify.clear();
},
错误:函数(XMLHttpRequest,textStatus){
/*错误代码*/
}
});
返回false;
});
}

使用此选项清除购物车页面中的所有数据

$('.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;
});

这似乎适用于Firefox,但不适用于safari或chrome?有什么想法吗?是因为这样做不会等待ajax响应吗?我在Chrome中执行命令,所以函数应该可以工作。或者,您可以访问jQuery,我相信您可以将事件侦听器附加到要触发此函数的DOM节点(添加到购物车)