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

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

Barbara Streisand
發布: 2024-11-27 19:23:11
原創
268 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板