Ошибка в бэке при редактировании товара: слишком много рекурсии
Здравствуйте.
Выбираю товар для редактирования из таблицы на вкладке Товары. Если это первый товар, который редактируется, то во всех вкладках информация отображается.
Если после этого вернуться в таблицу и выбрать другой товар, то большая часть вкладок (Фото и видео, Характеристики и др., кроме описание и SEO) очень часто (но не всегда) показывают белое поле и при переключении между ними в консоли ошибка:
Error at method $.product.editTabLoad. Original message: too much recursion InternalError: too much recursion jQuery 8
editTabLoadContent
editTabLoadContent
editTabLoadContent
editTabLoadContent
editTabLoadContent
editTabLoadContent
editTabLoadContent
editTabLoadContent
shop.js:355:25
Если после этого обновить страницу по F5, то все вкладки работают отлично.
У меня есть своя вкладка с тавблицей товаров и при переходе их неё в редактирование товара все вкладки работают. Получается так, что ошибка рекурсии возникает если в карточку товара происходит переход из вкладки Товары шопскрипта.
Пробовал очистку кеша, заменять файл shop.js на стурую версию - проблема не исчезла.
Куда копать?
1 ответ
Решил вопрос "методом лома":
В метод editTabLoad добавил обработчик исключений, при срабатывании которого производится перезагрузка страницы, если ранее не было перезагрузок (для защиты от рекурсии).
Это решение вылечило целый букет проблем при редактировании товара.