Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ajax更新Shopify购物车,无需页面刷新_Javascript_Jquery_Ajax_Shopify - Fatal编程技术网

Javascript 使用ajax更新Shopify购物车,无需页面刷新

Javascript 使用ajax更新Shopify购物车,无需页面刷新,javascript,jquery,ajax,shopify,Javascript,Jquery,Ajax,Shopify,我正在使用Ajax更改用户Shopify购物车,购物车已成功更改,但为了显示更新的购物车,用户必须刷新页面。我想在不刷新的情况下显示购物车更改 我很好地使用了ajax api,我可以通过以下方式添加和删除项目: Shopify.addItem(); Shopify.removeItem(); 这些功能非常好,但需要用户重新加载页面才能查看购物车中的新/更改项目。你知道一种不用重新加载页面就可以显示更新的购物车的方法吗 所以每个人都有完整的图片,下面是我的代码: function poll(pr

我正在使用Ajax更改用户Shopify购物车,购物车已成功更改,但为了显示更新的购物车,用户必须刷新页面。我想在不刷新的情况下显示购物车更改

我很好地使用了ajax api,我可以通过以下方式添加和删除项目:

Shopify.addItem();
Shopify.removeItem();
这些功能非常好,但需要用户重新加载页面才能查看购物车中的新/更改项目。你知道一种不用重新加载页面就可以显示更新的购物车的方法吗

所以每个人都有完整的图片,下面是我的代码:

function poll(products) {
$.ajax({
    url: "/apps/proxy",
    data: {products: products},
    type: "GET",
    dataType: "json",
    complete: setTimeout(function() 
      {cartAdd(); poll(products)}, 15000),
    success: function(data) {
      $.each(data, function(incoming_key, incoming_value){
        Shopify.getCart(function(cart){
          $.each(cart.items, function(cart_key, cart_value){
            if(cart_value.variant_id == incoming_value.id_to_remove){                 
              Shopify.addItem(incoming_value.variant_id, incoming_value.quantity);
              Shopify.removeItem(incoming_value.id_to_remove);
              console.log("some reason the incoming id is null or maybe not " + incoming_value.variant_id );
            }
            else if(cart_value.variant_id == incoming_value.variant_id && cart_value.quantity != incoming_value.quantity){
              Shopify.changeItem(cart_value.variant_id, incoming_value.quantity);
            }
          });
        });
      });
    },
});
}

对购物车页面执行ajax调用
/cart
,获取所需元素并在当前页面上替换它们


在第一个
$之后添加上述代码。每个
函数。

对购物车页面
/cart
执行ajax调用,获取所需元素并在当前页面上替换它们


在第一个
$之后添加上面的代码。每个
函数。

插入或更新后,您可以使用shopify ajax购物车调用GET操作:

插入或更新后,您可以使用shopify ajax购物车调用GET操作: