2017-02-26 29 views
0

Ajaxを使用してShopifyショッピングカートを変更しようとしていますが、カートは正常に変更されていますが、更新されたカートを表示するには、私はリフレッシュせずにカートの変更を表示したい。更新ページを更新せずにajaxでカートをカスタマイズする

私はちょうど良い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); 
      } 
      }); 
     }); 
     }); 
    }, 
}); 
} 

答えて

1

カートページ/cartへのAJAX呼び出しを行い、必要な要素を取得し、現在のページにそれらを交換してください。

最初の$.each機能の後に上記のコードを追加します。

1

あなたは、挿入した後、shopify Ajaxのカートを使用するか、GETアクションを呼び出す更新することができます。
using-ajax-api#get-cart

関連する問題