首頁  >  文章  >  後端開發  >  如何修復 HTTPS 網站上 AJAX 呼叫的「混合內容被阻止」錯誤?

如何修復 HTTPS 網站上 AJAX 呼叫的「混合內容被阻止」錯誤?

Barbara Streisand
Barbara Streisand原創
2024-11-27 19:23:11245瀏覽

How to Fix the

解決HTTPS 頁面中HTTP AJAX 操作的「混合內容被阻止」錯誤

嘗試從HTTPS 頁面執行HTTP AJAX 操作時,您可能會遇到「混合內容被阻止”錯誤。當瀏覽器偵測到從安全 HTTPS 頁面發出不安全的 HTTP 請求時,就會發生這種情況。

要解決此問題,您可以使用以下解決方案:

1.使用正確的HTTP 方法

如果目標API 支援HTTPS,您應該更新AJAX請求以使用HTTPS協議:

url: "https://XX.XXX.XX.XX/vicidial/non_agent_api.php",

2.使用內容安全策略元標記

如果無法更改API 協議,您可以將以下元標記新增至HTML 頁面以允許混合內容:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

這將指示瀏覽器自動將不安全的HTTP請求升級為HTTPS,解決混合內容問題。

3。使用伺服器端代理程式

如果先前的解決方案不可行,您可以建立伺服器端代理程式腳本來接收 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn