ホームページ > バックエンド開発 > 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 をサポートしている場合は、HTTPS プロトコルを使用するように AJAX リクエストを更新する必要があります:

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート