Django and ajax - Python

Узнай цену своей работы

Формулировка задачи:

Пытаюсь изучать ajax на примере магазина написанного на django, реализовываю асинхронное добавление товара в корзину. Код шаблона:
Листинг программы
  1. {% for product in products %}
  2. <div class="col-sm-4">
  3. <div class="product">
  4. <div class="product-img">
  5. <a href="#"><img src="/media/{{ product.img }}" alt=""></a>
  6. </div>
  7. <p class="product-title">
  8. <a href="#">{{ product.name }}</a>
  9. </p>
  10. <p class="product-desc">{{ product.description }}</p>
  11. <p class="product-price">{{ product.price }} Р</p>
  12. <form method="post" action="{% url "cart:addj" %}" class="form-inline product-form" id="submit_btn" data-productid="{{ product.id }}">
  13. {% csrf_token %}
  14. <div class="form-group">
  15. {{ cart_product_form.quantity }}
  16. {{ cart_product_form.update }}
  17. <input class="btn btn-danger form-control" type="submit" value="В корзину" >
  18. </div>
  19. </form>
  20. </div>
  21. </div>
  22. {% endfor %}
Код ajax-функции:
Листинг программы
  1. $("#submit_btn").submit( function (e) {
  2. e.preventDefault();
  3. var pr_id = $(this).attr("data-productid");
  4. var url = $(this).attr("action")
  5. console.log(pr_id);
  6. console.log($(this).serialize());
  7. $.ajax({
  8. type: 'POST',
  9. url: url,
  10. data: {
  11. product_id: pr_id,
  12. csrfmiddlewaretoken: $('input[name=csrfmiddlewaretoken]'),
  13. },
  14. dataType: 'json',
  15. sucess: function () {
  16. alert("aye");
  17. }
  18. });
  19. });
Код представления:
Листинг программы
  1. def AnotherAdd(request):
  2. if request.method == 'POST':
  3. product_id = request.POST['product_id']
  4. cart = Cart(request)
  5. product = Product.objects.get( id = product_id)
  6. form = CartAddProductForm(request.POST)
  7. if form.is_valid():
  8. cd = form.cleaned_data
  9. cart.add(product=product, quantity=cd['quantity'],
  10. update_quantity=cd['update'])
  11. return HttpResponse('ok', content_type='text/html')
  12. else:
  13. return HttpResponse('neok', content_type='text/html')
Код ошибки:
Листинг программы
  1. jquery.min.js:4 Uncaught RangeError: Maximum call stack size exceeded
  2. at dc (jquery.min.js:4)
  3. at dc (jquery.min.js:4)
  4. at dc (jquery.min.js:4)
  5. at dc (jquery.min.js:4)
  6. at dc (jquery.min.js:4)
  7. at dc (jquery.min.js:4)
  8. at dc (jquery.min.js:4)
  9. at dc (jquery.min.js:4)
  10. at dc (jquery.min.js:4)
  11. at dc (jquery.min.js:4)
Как я понял из описания ошибки он не выходит из рекурсии, но я никак не могу понять где именно я не прав.

Решение задачи: «Django and ajax»

textual
Листинг программы
  1. sucess: function () {

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут