it-swarm.com.de

Ajax-Fehler beim Versuch, Komponenten zu aktualisieren

Ich habe ein paar Probleme mit einer von mir verwalteten Joomla 3.6-Site.

  • Problem 1 betrifft die Joomla-Update-Komponente. Wenn das Update versucht, es auszuführen, wird ein Ajax-Warnungsfehler und der folgende Fehler in der Konsole angezeigt:

    XMLHttpRequest kann nicht geladen werden http://www.example.com/administrator/components/com_joomlaupdate/restore.php . In der angeforderten Ressource ist kein 'Access-Control-Allow-Origin'-Header vorhanden. Origin ' http://example.com ' ist daher kein Zugriff gestattet.

  • Das zweite Problem ist das Hochladen von Bildern. Wann immer ich versuche, ein Bild im Medienmanager, einem Artikel oder einem Modul hochzuladen, verhält sich die Site so, als würde sie das Bild hochladen, es wird aktualisiert, aber nie tatsächlich hochgeladen.

    Ich habe die Fehlerberichterstattung auf Maximum geschaltet und immer noch keine Fehler, nachdem die Routine beendet ist. Ich muss sagen, dass ich völlig außer mir bin, was los ist.

Ich kann nur davon ausgehen, dass die beiden Themen zusammenhängen.

3
TEN Design

Ich bin vor kurzem auf diesen XMLHttpRequest-Fehler gestoßen. Die Wurzel des Problems hat 3 verschiedene Probleme verursacht.

LÖSUNG: In meinem Fall wurde das Problem durch eine falsche Einstellung für die öffentliche Variable $ live_site in der Datei configuration.php (die sich in der Datei befindet) verursacht Joomla-Stammordner). Die Website war https://website.com , aber ich hatte die öffentliche $ live_site = ' https://www.website.com '; <- Das www hätte nicht dort sein dürfen.

Am Ende habe ich public $live_site = ''; Gesetzt, aber public $live_site = 'https://website.com'; Hätte auch funktioniert.

Alternativ könnten Sie wahrscheinlich cors setzen, um die gemeinsame Nutzung von Ressourcen zwischen Origin zu ermöglichen, aber dies ist eine serverseitige Lösung, die in meinem Fall nicht erforderlich war. Auch wenn Sie es falsch einstellen, kann dies ein Sicherheitsrisiko darstellen.


Das falsche Setzen von $ live_site in configuration.php verursachte 3 Probleme.

  • Bei der Anmeldung bei https://website/administrator wurde ich nicht über neue Erweiterungsaktualisierungen informiert. Wenn ich mich bei website.com/administrator mit geöffneter Konsole (Strg + Umschalt + i) anmeldete, wurde der Fehler -Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://www.website.com/administrator/index.php?option=com_installer&view=update&task=update.ajax&cbe7c724489164bc62ef5fd63d87884b=1&eid=0&skip=700. (Reason: CORS header 'Access-Control-Allow-Origin' missing) angezeigt.
  • Das zweite Problem trat auf, als ich versuchte, Joomla neu zu installieren, indem ich zu Administrator -> Komponenten -> Joomla! Update -> Live Update ging. Als Installationsmethode habe ich "Dateien überschreiben" gewählt. Ich habe eine Nachricht erhalten
    Error: AJAX loading Error:error

    "Error: AJAX loading Error: error" und dann in der Konsole konnte ich sehen

    Joomla Ajax XmlHttpRequest error Update

    mit der folgenden Meldung Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://www.website.com/administrator/components/com_joomlaupdate/restore.php. (Reason: CORS header 'Access-Control-Allow-Origin' missing).

  • Das dritte Problem war mir erst bewusst, als ich diese Frage stellte. Wenn Sie Bilder entweder im Medienmanager, in einem Artikel oder in einem Modul hochladen, verhält sich die Site so, als würde sie das Bild hochladen, aktualisieren, aber niemals das Bild tatsächlich hochladen.

All diese Probleme wurden durch einen falschen Wert für die Variable $ live_site in configuration.php verursacht.

Ich bin schließlich auf die Antwort gestoßen, dank eines Verweises in https://www.itoctopus.com/ajax-loading-error-error-when-updating-your-joomla-website

4
TryHarder

pdate

Ich hatte heute wieder das Problem, den htaccess nur umzubenennen, ohne die Admin Tools zu deaktivieren, und dann funktionierte das Update für mich. Es scheint also mit den Regeln zu tun zu haben, die im htaccess von Admin Tools festgelegt wurden.

Anfangs gegebene Antwort:

Für den Update-Fehler "Ajax Loading Error: Forbidden " versuchen Sie:

1) Admin Tools deaktivieren (falls installiert/Komponente + System Plugin)

2) Akeeba Backup deaktivieren (falls installiert/package + component + file_akeeba)

) htaccess umbenennen

Ich habe alle 3 Schritte zusammen gemacht und es hat für das 3.8.3-Update funktioniert.

Nach Abschluss des Updates können Sie Schritt 1-3 wiederholen. Wenn htaccess gelöscht wurde oder nicht wieder umbenannt werden kann, können Sie über Admin Tools -> htaccess Maker einen neuen erstellen.

2
Dennis Heiden

In der Regel geschieht dies, wenn Sie eine .htaccess-Regel haben (möglicherweise ursprünglich aus Sicherheitsgründen eingefügt), die den Zugriff auf die Datei restore.php Blockiert. Wir haben darüber geschrieben hier .

Allerdings muss man sich fragen, warum Joomla Zugriff auf die restore.php - Datei benötigt, die scheinbar vollständig für Akeeba Backup reserviert ist, auch wenn Akeeba Backup nicht installiert ist. Ehrlich gesagt haben wir das Problem nicht gründlich untersucht (vielleicht benötigt Joomla eine Funktion aus dieser Datei) - dennoch ist diese Datei eine Akeeba-spezifische Datei und sollte sich nicht im Kern befinden.

1
itoctopus