Lorsque vous essayez d'effectuer une opération HTTP AJAX à partir d'une page HTTPS, vous pouvez rencontrer le message « Erreur "Contenu mixte bloqué". Cela se produit lorsque le navigateur détecte une requête HTTP non sécurisée effectuée à partir d'une page HTTPS sécurisée.
Pour résoudre ce problème, vous pouvez utiliser les solutions suivantes :
Si l'API cible prend en charge HTTPS, vous devez mettre à jour votre requête AJAX pour utiliser le protocole HTTPS :
url: "https://XX.XXX.XX.XX/vicidial/non_agent_api.php",
Si la modification du protocole API n'est pas possible, vous pouvez ajouter la balise méta suivante à la page HTML pour autoriser le contenu mixte :
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
Cela demandera au navigateur de mettre automatiquement à niveau les requêtes HTTP non sécurisées vers HTTPS, résolvant ainsi le problème de contenu mixte.
Si les solutions précédentes ne sont pas viables, vous pouvez créer un script proxy côté serveur qui reçoit la requête HTTP AJAX et la transmet à l'API cible à l'aide de HTTPS :
<?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"); ?>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!