嘗試從HTTPS 頁面執行HTTP AJAX 操作時,您可能會遇到「混合內容被阻止”錯誤。當瀏覽器偵測到從安全 HTTPS 頁面發出不安全的 HTTP 請求時,就會發生這種情況。
要解決此問題,您可以使用以下解決方案:
如果目標API 支援HTTPS,您應該更新AJAX請求以使用HTTPS協議:
url: "https://XX.XXX.XX.XX/vicidial/non_agent_api.php",
如果無法更改API 協議,您可以將以下元標記新增至HTML 頁面以允許混合內容:
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
這將指示瀏覽器自動將不安全的HTTP請求升級為HTTPS,解決混合內容問題。
如果先前的解決方案不可行,您可以建立伺服器端代理程式腳本來接收 HTTP AJAX 請求並使用 HTTPS 將其轉送至目標 API:
<?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"); ?>
以上是如何修復 HTTPS 網站上 AJAX 呼叫的「混合內容被阻止」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!