Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann der Fehler „Mixed Content Blocked' für AJAX-Aufrufe auf HTTPS-Sites behoben werden?

Wie kann der Fehler „Mixed Content Blocked' für AJAX-Aufrufe auf HTTPS-Sites behoben werden?

Barbara Streisand
Barbara StreisandOriginal
2024-11-27 19:23:11245Durchsuche

How to Fix the

Behebung des Fehlers „Mixed Content Blocked“ für HTTP-AJAX-Vorgänge in HTTPS-Seiten

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:

1. Verwenden Sie eine geeignete HTTP-Methode

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",

2. Verwenden Sie ein Meta-Tag für eine Inhaltssicherheitsrichtlinie

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.

3. Verwenden Sie einen serverseitigen Proxy

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn