Ich verwende Magento 2.2 mit Porto-Design und erhalte einen [object Object]
Javascript-Fehler in customer-data.js
Zeile 90 in der Konsole, nachdem ich mich im Store angemeldet und die Seite aktualisiert oder zu einer anderen Seite gewechselt habe.
Ich habe dies in Firefox, Chrome, IE 11 und Edge getestet und es wird nur in Firefox (dem Browser, den ich meistens benutze) angezeigt.
Es verursacht keine ernsthaften Probleme (nicht so weit ich sehen kann), aber ich möchte dieses Problem lösen.
Zeile 90 der customer-data.js
Datei lautet : "throw new Error(jqXHR);"
.
Im jqXHR-Objekt befindet sich eine JSON-Antwortnachricht:
{"message": "\" paypal-billing-Agreement \ "Abschnittsquelle wird nicht unterstützt"}
Ich habe da draußen ein paar Vorschläge gesehen, aber die meisten drehten sich um das Bereinigen von Cache und statischen Dateien.
Ich habe versucht: Firefox-Cache und Cookies löschen, statische Magento-Dateien, Cache und Speicher-Cache bereinigen, aber bisher hat nichts funktioniert ...
Und ich bin mir nicht sicher, was ich sonst tun soll ... jede Hilfe wäre willkommen.
Bearbeiten / Lösung
Die Ursache des Fehlers war, dass ich das Paypal-Modul deaktiviert, aber den lokalen Browser- / Speicher-Cache nicht geleert habe.
In diesem Cache befand sich ein bestimmter Aufruf des Paypal-Moduls, der nicht verarbeitet werden konnte, sodass ein JS-Fehler wie dieser zurückgegeben wurde.
Durch das Löschen dieses Caches wurde das Problem behoben.
jqXHR
. Die Konstruktmethode der Error-Klasse hat die Zeichenfolgennachricht (oder das Objekt mittoString
Methode) erwartet .Antworten:
Ich habe buchstäblich ein paar Tage damit verbracht, dieses Problem zu beheben, und schließlich eine endgültige Lösung gefunden oder umgangen, wie ich es nennen würde. Hoffentlich kann es ein paar anderen Menschen die Kopfschmerzen ersparen, die ich derzeit habe!
Ich habe diesen Fehler zum ersten Mal bemerkt, als ich von der clientseitigen zur serverseitigen Kompilierung in gewechselt bin
Stores->Configuration->Advanced->Developer->Frontend Development Workflow
Dann habe ich festgestellt, dass
customer-data.js
der localStorage im Browser selbst zum Speichern einer Vielzahl von Informationen verwendet wird, sodass Sie den Magento-Cache nach Belieben löschen können und weiterhin Probleme auftreten.TLDR:
Der Fix in Google Chrome wird mit F12 gedrückt, um die Entwickler-Symbolleiste zu öffnen, und wählen Sie dann die Registerkarte Anwendung. Löschen Sie den lokalen Speicher, den Sitzungsspeicher und die Cookies. Laden Sie die Seite neu und alles sollte gut sein. Sie müssen dies auch auf Ihrer Administrationsseite tun.
Gutschrift: https://github.com/magento/magento2/issues/6410#issuecomment-243704461
quelle
Dieser Fehler besagt, dass die Quelldaten nicht in
sectionSourceMap
derMagento\Customer\CustomerData\SectionPool
Klasse angegeben sind. Diepaypal-billing-agreement
Daten sind in der Datei definiertvendor/magento/module-paypal/etc/frontend/di.xml
:Wahrscheinlich wurde das Paypal-Modul im Geschäft deaktiviert, oder ein Modul eines Drittanbieters hat es nicht richtig deaktiviert.
Um dieses Problem zu beheben, öffnen Sie die Datei
vendor/magento/module-customer/CustomerData/SectionPool.php
und überprüfen Sie, welche Abschnitte in diegetSectionsData
Methode geladen werden. Darüber hinaus können Sie versuchen, die MethodegetSectionsData(['paypal-billing-agreement'])
irgendwo aus einem benutzerdefinierten Code aufzurufen und Schritt für Schritt zu überprüfen, warum diese Daten nicht geladen werden.quelle
Für mich konnte ich sehen, dass das Problem etwas mit dem Artikel zu tun hatte, den ich gerade in den Warenkorb gelegt hatte.
Daher habe ich die folgende Abfrage in der Datenbank ausgeführt, um alle Angebotselemente aus meinem Benutzerkonto zu entfernen:
Danach ging das Problem weg :)
quelle
Bitte löschen Sie Datensätze von "Porto Theme" -Einträgen aus der "theme" -Tabelle. Die Datensätze werden automatisch erneut erstellt. Und ordnen Sie Websites mit diesem Porto-Thema erneut zu und überprüfen Sie.
quelle