ПОПРАВИЛ ВОПРОС
Пытаюсь сделать, чтобы при нажатии на "Добавить в корзину" счетчик товаров (в корзине) в шапке сайта обновлялся автоматически (без перезагрузки страницы).
Разобрался с вьюхой теперь проблема только в JavaScript. Не идет запрос AJAX на сервер.
cart/static/js/ajax_add.js
$("#update").click(function() {
$('#counter').html(function(i, val) {
console.log(data)
$.ajax({
url: form.attr("action"),
type: 'POST',
data: data,
cache: true,
success: function() { alert('Request has returned') },
error: function(){ console.log("error") }
});
return (+val+1);
});
});
HTML
<...>
<!-- КОРЗИНА в шапке сайта -->
{% with total_items=cart|length %}
{% if cart|length > 0 %}
<a href="{% url "cart:cart_detail" %}">
КОРЗИНА
({{ total_items }})
</a>
{% else %}
КОРЗИНА
(<div id="counter">{{ total_items }}</div>)
{% endif %}
{% endwith %}
<...>
<!-- Список товаров -->
{% for product in products %}
<...>
<!-- Кнопка добавления товара в корзину -->
<form action="{% url "cart:cart_add" product.id %}" method="post">
{{ cart_product_form }}
{% csrf_token %}
<input id="update" class="button add" type="submit" value="Добавить в корзину">
</form>
{% endfor %}