Я использую Magento 2.2 с темой Porto и получаю [object Object]
ошибку javascript в customer-data.js
строке 90 в консоли после входа в магазин и обновления страницы или перехода на другую страницу.
Я проверил это в Firefox, Chrome, IE 11 и Edge, и оно появляется только в Firefox (браузер, который я в основном использую).
Это не вызывает каких-либо серьезных проблем (не так далеко, как я вижу), но я хотел бы решить эту проблему.
Строка 90 из customer-data.js
файла: "throw new Error(jqXHR);"
.
Внутри объекта jqXHR находится ответное сообщение JSON:
{"message": "источник раздела" paypal-billing-Agreement \ "не поддерживается"}
Я видел несколько предложений, но большинство из них касалось очистки кеша и статических файлов.
Я пытался: очистить кэш Firefox и куки, очистить статические файлы Magento, кэш и кэш-память, но пока ничего не получалось ...
И я не совсем уверен, что еще делать ... любая помощь будет оценена.
Редактировать / Решение
Причиной ошибки было то, что я отключил модуль Paypal, но не очистил локальный / кэш браузера.
Внутри этого кэша был определенный вызов к модулю PayPal, который не мог быть обработан, поэтому он возвратил ошибку JS, подобную этой.
Очистка этого кэша устранила проблему.
jqXHR
. Метод конструкции класса Error ожидал строковое сообщение (или Object сtoString
методом).Ответы:
Я буквально потратил впустую несколько дней, пытаясь отладить эту проблему, и, наконец, нашел определенное решение или обходной путь, который я бы назвал. Надеюсь, это может спасти несколько других людей от головной боли, которая у меня сейчас есть!
Я впервые заметил, что эта ошибка появляется при переключении с клиентской стороны на серверную компиляцию в
Stores->Configuration->Advanced->Developer->Frontend Development Workflow
Затем я решил, что
customer-data.js
использует localStorage в самом браузере для хранения различной информации, поэтому вы можете очистить кэш Magento все, что захотите, и у вас все еще будут проблемы.TLDR:
Для исправления в Google Chrome нажмите F12, чтобы открыть панель инструментов разработчика, а затем выберите вкладку «Приложение». Очистите локальное хранилище, хранилище сеансов и файлы cookie. Перезагрузите страницу и все должно быть хорошо. Вы должны будете сделать это на своей странице администратора.
Предоставлено: https://github.com/magento/magento2/issues/6410#issuecomment-243704461.
источник
Эта ошибка говорит о том, что исходные данные не указаны в
sectionSourceMap
расположенном вMagento\Customer\CustomerData\SectionPool
классе.paypal-billing-agreement
Данные определены в файлеvendor/magento/module-paypal/etc/frontend/di.xml
:Таким образом, возможно, модуль PayPal был отключен в магазине, или какой-то сторонний модуль отключил его не по назначению.
Чтобы устранить эту проблему, откройте файл
vendor/magento/module-customer/CustomerData/SectionPool.php
и проверьте, какие разделы загружаются вgetSectionsData
методе. Кроме того, вы можете попытаться вызвать методgetSectionsData(['paypal-billing-agreement'])
где-нибудь из пользовательского кода и пошагово проверить, почему эти данные не загружаются.источник
Я понял, что проблема связана с товаром, который я только что добавил в корзину.
Поэтому я выполнил следующий запрос в БД, чтобы удалить все элементы цитаты из моей учетной записи пользователя:
После этого проблема ушла :)
источник
Пожалуйста, удалите записи "Porto Theme" из таблицы "theme". Записи будут автоматически созданы снова. И переназначить сайты с этой темой Порту снова и проверить.
источник