1

私のサイトの商品詳細ページでShopify「 」をクリックすると、そのAdd To CartページAJAXがその機能を実行します。cart.item_countしかし、ページが更新されない限り更新されない 名前の変数があります。

質問: AJAX を取得しcart.item_countてそのページの を更新する方法。

以下は、HTML ページのコードです。

        <div id="mini-cart" >

            <span class="cart_count_info">Cart ({{ cart.item_count }})</span>//THIS SPAN IS WHAT NEEDS TO BE UPDATED 

        </div>

         <p id="add-to-cart-msg"></p> //THIS "P" IS UPDATED BY THE AJAX WITH MESSAGING SEE BELOW JAVASCRIPT

          <form action="/cart/add" method="post" class="variants" id="product-actions" enctype="multipart/form-data">
              //TOOK OUT SOME OF THE FORM DATA THAT IS NOT NEED FOR THIS EXAMPLE

          </form>

JavaScript コード。cart.item_count下部に、同じページのコピーを更新するコード行があります...彼のページで既に見つかった変数を更新できれば。

function addToCartSuccess (jqXHR, textStatus, errorThrown){

  $.ajax({
    type: 'GET',
    url: '/cart.js',
    async: false,
    cache: false,
    dataType: 'json',
    success: updateCartDesc
  });
  $('#add-to-cart-msg').hide().addClass('success').html('Item added to cart! <a href="/cart" title="view cart">View cart and check out &raquo;</a>').fadeIn();

$('span#cart_count_info').load(Cart ({{ cart.item_count }})); 
//MAYBE HERE IS WHERE I CAN ADD MY CODE TO UPDATE THE VARIABLE I NEED. MY CODE IS JUST A GUESS SINCE ID DON'T DO MUCH JAVASCRIPT PROGRAMMING.


}
4

2 に答える 2

1

削除する

$('span#cart_count_info').load(Cart ({{ cart.item_count }})); 

以下の「UpdateCartDesc」関数に置き換えます(成功メッセージを参照してください)

function updateCartDesc(data){
  var $cartLinkText = $('.cart_count_info').html(data.item_count);
}
于 2013-08-23T17:10:39.103 に答える