0

Добавляю совместимость интернет-магазина с Internet Explorer 8, для этого использую версию JQuery 1.10.2.

При нажатии кнопки добавления товара в корзину отрабатывает код:

$.ajax({
    url: url,
    dataType: 'json',
    success: this.ajaxSuccess,
    error: this.ajaxError
});

Товар успешно добавляется в корзину (на сервере), но функция ajaxSuccess не вызывается.

Как фиксить?

YpaHeL1
  • 1,188
  • В качестве фикса советую серьёзно поговорить с тем, кто вынуждает Вас заниматься такими вещами. IE8 - устаревший браузер, не надо его поддерживать ни под каким видом. – Kir_Antipov May 29 '19 at 12:10
  • А в каком контексте это все вызывается? Возможно, какая-то проблема с привязкой по this. Пробовали без this? Пробовали подписаться на complete? – Kir_Antipov May 29 '19 at 12:16
  • А ты уверен, что в других браузерах вызывается? – Qwertiy May 29 '19 at 12:17
  • https://ru.stackoverflow.com/q/535030/178988 – Qwertiy May 29 '19 at 12:18
  • @Qwertiy в других браузерах - да. Но в них я привязываю функции к __proto__ объекта виджета, может быть дело в этом? https://pastecode.xyz/view/879ddf77 – YpaHeL1 May 29 '19 at 12:22
  • [mcve] 2. https://i.stack.imgur.com/CL1gj.png 3. Уже по описанию ясно, что фигня
  • – Qwertiy May 29 '19 at 12:36
  • @Kir_Antipov так как в IE8 нету __proto__, то я не привязывал this к контексту вызова функций. Верно, я не передал контекст, нужно в конструкторе было привязать через bind как и для других браузеров, с отличием только в том, что в левой части выражения не нужно proto. Спасибо. – YpaHeL1 May 29 '19 at 12:36
  • $.ajax({ url: url, dataType: 'json', success: this.ajaxSuccess, error: this.ajaxError }).done(//todo); попробуйте – Vitaliy Stop_RU_war_in_UA May 29 '19 at 13:58