2013-06-30 3 views
0

На странице сведений о продукте моего сайта Shopify, когда вы нажимаете «Add To Cart», страница использует AJAX, чтобы сделать свою работу. НО есть переменная с именем cart.item_count, которая не обновляется, если страница не обновляется.Обновить обновление cart.item_count с помощью AJAX

Вопрос: Как получить 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. 


} 

ответ

0

Удалить

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

и заменить его на «UpdateCartDesc» функции сильфона (ваше сообщение успеха)

function updateCartDesc(data){ 
    var $cartLinkText = $('.cart_count_info').html(data.item_count); 
} 
0

Принимая это, как его отношение к заголовок при нажатии кнопки Добавить в корзину , вы получаете обновленное количество продуктов в своей корзине.

Просто добавьте класс cart-count к div. Ваша структура должна выглядеть так:

#pageheader > .cart-summary > .cart-count 
Смежные вопросы