Пишу корзину для интернет-магазина
Код для обработки нажатия на кнопку " - ", у регулирования количества товара:
$(".minusCart").click(function () {
var id = $(this).attr("data-id");
$.post("/cart/deleteOneAjax/" + id, {}, function (data) {
if (!data) {
location.reload();
} else {
$("#id-count" + id).val(data);
}
});
$.post("/cart/countAjax/" + id, {}, function (data) {
$("#cart-count").html(data);
});
$.post("/cart/productPriceAjax/" + id, {}, function (data) {
$("#product-price-cart" + id).html(data);
});
$.post("/cart/totalPriceAjax/" + id, {}, function (data) {
$(".total-price-cart").html(data);
});
});
То есть, тут важен порядок действий:
1. Удалить товар из корзины
2. Пересчитать количество товаров одного вида
3. Пересчитать сумму у товара (количество*цена)
4. Пересчитать всю сумму корзины
Но из-за того, что запрос не дожидается ответа того запроса, которого шел перед ним, вычисление идет неправильно. Например, иногда удаление товара происходит последним, и, естественно, идет некорректный перерасчет данных в других методах.
Как переписать скрипт, чтобы все возвращалось по-порядку?