Зарегистрироваться сейчас

Авторизация

Забыл пароль

Забыли пароль? Введите логин или email-адрес. Мы отправим инструкцию на ваш Email

Отправить сообщение

Add post

Добавить вопрос

You must login to ask a question.

Авторизация

Зарегистрироваться сейчас

Цель сайта совместная помощь друг другу, если вы желаете скачивать ресурсы и ничего при этом не делать, вам нужно оплатить Подписку Другой вариант активно помогать другим участникам

Дубли Opencart 3.x Решение Всех Проблем!

Дубли Opencart 3.x Решение Всех Проблем!

При использовании администрирования в Chrome для Windows для добавления или редактирования практически чего-либо (категории, продукты, клиенты и т. Д.) В консоли браузера вы увидите, что при нажатии кнопки «Сохранить» запрос на сохранение отправляется дважды. Первый из них отменяется браузером, когда второй совершает успешный запрос на сервер и покидает страницу. Однако первый запрос имеет очень высокую вероятность того, что он также попадет на сервер до того, как он будет отменен, поэтому в зависимости от того, что сохраняется, это может привести к дублированию в базе данных.

Причину этого довольно просто найти. Посмотрите в /upload/admin/view/javascript/common.js строке 27 событие нажатия кнопки «Сохранить»:

Код:

$('button[type='submit']').on('click', function() {
$("form[id*='form-']").submit();
});

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

Код:

$('button[type='submit']').on('click', function(e) {
if ($("form[id*='form-']").length > 0) {
e.preventDefault();
$("form[id*='form-']").submit();
}
});

Вот скриншот с дублирующимися запросами, возникающими у администратора. Вам нужно открыть сетевой журнал, чтобы увидеть этот запрос.

Автор Tapac

Оставить ответ