Estoy usando Magento 2.2 con el tema de Porto y obtengo un [object Object]
error de JavaScript en la customer-data.js
línea 90 de la consola después de iniciar sesión en la tienda y actualizar la página o cambiar a otra página.
Probé esto en Firefox, Chrome, IE 11 y Edge y solo aparece en Firefox (el navegador que más uso).
No está causando ningún problema grave (no hasta donde puedo ver), pero me gustaría resolver este problema.
La línea 90 del customer-data.js
archivo es: "throw new Error(jqXHR);"
.
Dentro del objeto jqXHR hay un mensaje de respuesta JSON:
La fuente de la sección {"mensaje": "\" acuerdo de facturación de PayPal \ "\" no es compatible "}
He visto un par de sugerencias, pero la mayoría giraba en torno a la limpieza de caché y archivos estáticos.
Intenté: borrar el caché de Firefox y las cookies, limpiar los archivos estáticos de Magento, el caché y el caché de almacenamiento, pero nada funcionó hasta ahora ...
Y no estoy realmente seguro de qué más hacer ... cualquier ayuda sería apreciada.
Editar / Solución
La causa del error fue que había deshabilitado el módulo Paypal pero no borré el caché local / de almacenamiento del navegador.
Dentro de este caché había una cierta llamada al módulo de PayPal que no se pudo procesar, por lo que devolvió un error JS como este.
Borrar este caché solucionó el problema.
jqXHR
. El método de construcción de la clase Error esperaba el mensaje de cadena (u Objeto contoString
método).Respuestas:
Literalmente he desperdiciado unos días tratando de depurar este problema y finalmente obtuve una solución o solución definitiva, lo llamaría. ¡Espero que pueda salvar a algunas otras personas el dolor de cabeza que tengo actualmente!
Noté por primera vez que aparece este error cuando cambio de compilación del lado del cliente a compilación del lado del servidor en
Stores->Configuration->Advanced->Developer->Frontend Development Workflow
Luego, determiné que
customer-data.js
usa localStorage dentro del navegador para almacenar una variedad de información, para que pueda borrar el Magento Cache todo lo que quiera y aún tendrá problemas.TLDR:
La solución en Google Chrome es presionar F12 para abrir la barra de herramientas del desarrollador, luego seleccione la pestaña Aplicación. Borre el almacenamiento local, el almacenamiento de sesión y las cookies. Vuelva a cargar la página y todo debería estar bien. Tendrá que hacer esto también en su página de administración.
Crédito: https://github.com/magento/magento2/issues/6410#issuecomment-243704461
fuente
Este error dice que los datos de origen no se especifican en el
sectionSourceMap
ubicado en laMagento\Customer\CustomerData\SectionPool
clase. Lospaypal-billing-agreement
datos se definen en el archivovendor/magento/module-paypal/etc/frontend/di.xml
:Por lo tanto, probablemente el módulo de PayPal se deshabilitó en la tienda o algún módulo de terceros lo ha deshabilitado de la manera no correcta.
Para depurar ese problema, abra el archivo
vendor/magento/module-customer/CustomerData/SectionPool.php
y verifique qué secciones se están cargando en elgetSectionsData
método. Además, puede intentar llamar al método engetSectionsData(['paypal-billing-agreement'])
algún lugar desde un código personalizado y verificar paso a paso por qué estos datos no se están cargando.fuente
Para mí, pude ver que el problema tenía algo que ver con el artículo que acababa de agregar al carrito.
Así que ejecuté la siguiente consulta en la base de datos para eliminar todos los elementos de presupuesto de mi cuenta de usuario:
Después de eso, el problema desapareció :)
fuente
Elimine los registros de las entradas de "Tema de Porto" de la tabla "tema". Los registros se crearán automáticamente nuevamente. Vuelva a asignar sitios web con este tema de Oporto y verifique.
fuente