Задать вопрос
@Zewkin
Я у мамы фронтэндер

Браузер, jQuery и кэш (?)?

Добрый день.

Ситуация следующая: есть страница с товарами, под каждым из них - кнопка "купить" с классом "buy" и id, равным id товара в базе. При нажатии на кнопку отправляем аяксом POST запрос на обработчик с id товара, который берем из id кнопки, обработчик записывает данные (куку и id товара) в базу, далее меняем класс кнопки с "buy" на "buy-cart", чтобы при повторном нажатии запрос не отправлялся, а осуществлялся переход в корзину.

$('.buy').click(function() {
			$(this).removeClass('buy')
			$(this).addClass('buy-cart')
			$(this).html('<a href="/cart.php">Корзина</a>')
			$.post("/test.php",
				{
					action: "addtocart",
					id: this.id
				},
			onSucess
			)
});


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

Как бороться?

P. S. Не знаю, можно ли тут оставлять ссылки на внешние ресурсы, если можно (и нужно для решения проблемы) - оставлю.

Заранее спасибо.
  • Вопрос задан
  • 2629 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
rOOse
@rOOse
Frontend developer
Обработчик то висит на кнопке, удалять кто будет? =)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 дек. 2024, в 09:41
5000 руб./за проект
23 дек. 2024, в 09:39
1000000 руб./за проект
23 дек. 2024, в 09:33
3000 руб./за проект