Beim Versuch, einen HTTP-AJAX-Vorgang von einer HTTPS-Seite aus auszuführen, kann es sein, dass Sie auf die Fehlermeldung „ Fehler „Gemischter Inhalt blockiert“. Dies tritt auf, wenn der Browser eine unsichere HTTP-Anfrage erkennt, die von einer sicheren HTTPS-Seite gestellt wird.
Um dieses Problem zu beheben, können Sie die folgenden Lösungen verwenden:
Wenn die Ziel-API HTTPS unterstützt, sollten Sie Ihre AJAX-Anfrage aktualisieren, um das HTTPS-Protokoll zu verwenden:
url: "https://XX.XXX.XX.XX/vicidial/non_agent_api.php",
Wenn eine Änderung des API-Protokolls nicht möglich ist, können Sie der HTML-Seite das folgende Meta-Tag hinzufügen, um gemischte Inhalte zuzulassen:
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
Dadurch wird der Browser angewiesen, unsichere HTTP-Anfragen automatisch auf HTTPS zu aktualisieren, wodurch das Problem mit gemischten Inhalten behoben wird.
Wenn die vorherigen Lösungen nicht realisierbar sind, können Sie ein serverseitiges Proxy-Skript erstellen, das die HTTP-AJAX-Anfrage empfängt und sie über HTTPS an die Ziel-API weiterleitet:
<?php // Read and parse incoming data $data = $_GET; // Send data to API via HTTPS $result = file_get_contents("https://XX.XXX.XX.XX/vicidial/non_agent_api.php?queries=" . http_build_query($data)); // Redirect user to thank-you page header("Location: https://www.example.com/thank-you"); ?>
Das obige ist der detaillierte Inhalt vonWie kann der Fehler „Mixed Content Blocked' für AJAX-Aufrufe auf HTTPS-Sites behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!