Js файл не работает в коде внутри функции .html()
Когда я нажимаю кнопку (кнопка количества в корзине), js файл вызывает ajax функцию, которая загружает все содержимое корзины и заменяет его на элементы в "res.data". Ajax-функция:
$.ajax({
url:'/update_quantity_instant/',
data:_newdata,
dataType:'json',
success:function(res){
console.log(res);
$('#cart-total').text(res.cartItems);
$('#boxcart').html(res.data);
}
})
функция js начинается следующим образом:
jQuery(document).ready(function($){
$(".update-cart").on('click', function(){
Это функция возврата внутри файла views.py:
t=render_to_string('ajax/quantity-cart.html',{'data1':items, 'data2': order})
return JsonResponse({'data':t, 'cartItems': cartItems})
js файл отвечает только при первом нажатии на кнопку, я попытался добавить тег js файла также в новый html файл, где ajax функция загружает элементы, код работает, но я получаю эту ошибку в консоли:
[Deprecation] Синхронный XMLHttpRequest в основном потоке устарел из-за его пагубного влияния на работу конечного пользователя.
Возможно, потому что файл загружается несколько раз.
Вставьте атрибут async true в ваш вызов ajax следующим образом
$.ajax({
async: true, // Put this
url:'/update_quantity_instant/',
data:_newdata,
dataType:'json',
success:function(res){
console.log(res);
$('#cart-total').text(res.cartItems);
$('#boxcart').html(res.data);
}
})