私は(このようにGETを介してGETによって)crm(ViciDial)に送信しているフォームを持っています。私は正常にフォームを提出することができますが、もし私がそれを行うなら、crmの処理ファイルは単に成功のテキストをエコーするだけです。HTTPSページでHTTP AJAX操作を実行しているときに「混在しているコンテンツがブロックされています」
私のウェブサイトに感謝のページを表示したいので、フォームを送信して必要なページにリダイレクトすることにしましたが、私はこのエラーが発生しましたブラウザ:
混在したコンテンツ: 'https://page.com' でのページがHTTPSでロードされ、 が、安全でないXMLHttpRequestのエンドポイント 'http://XX.XXX.XX.XXX/vicidial/non_agent_api.php?queries=query=data' を要求しました。 このリクエストはブロックされました。 HTTPS経由でコンテンツを配信する必要があります。
これは私のAJAXスクリプトです:
<script>
SubmitFormClickToCall = function(){
jQuery.ajax({
url: "http://XX.XXX.XX.XX/vicidial/non_agent_api.php",
data : jQuery("#form-click-to-call").serialize(),
type : "GET",
processData: false,
contentType: false,
success: function(data){
window.location.href = "https://www.example.com/thank-you";
}
});
}
</script>
だけでは動作しませんURLにHTTPSを設定し、私は私のありがとうにユーザーをGETを介してデータを提出し、リダイレクトすることが可能な任意の方法がありますページ?ここ
============================
問題は、これは私が通過ページをロードすることを意味し、混合コンテンツでしたHTTPSにあったAPIをAJAX経由でヒットしようとしていました。しかし、ブラウザは私たちにそれをさせてくれません。
APIをHTTPSに設定できない場合(これは私の場合でした)、まだ別の方法でこれにアプローチできます。
主な問題は、データをAPIに送信し、ユーザーを気の利いたありがとうページにリダイレクトしたかったという混合コンテンツの問題ではありませんでした。 AJAXを使用する代わりに、データを受け取るPHPファイルを作成し、curlを使用してAPIに送信します(これはサーバー側で行われているので、混合コンテンツの問題はありません)。
安全なバージョンのAPIをお持ちですか?セキュアサイトを起点として使用している場合は、HTTPS経由でリクエストする必要があります。 –
いいえ、私はそれを行うことができる他の方法はありませんか?つまり、リクエストを送信するには、Ajaxなしでフォームを送信するだけです。 – StormRage
HTTP経由で 'XX.XXX.XX.XX 'にプロキシするためにHTTPS URLをApacheに作成することができます。ただし、HTTPの目的がユーザーの情報を保護することである場合は、サーバー間のルートが公開インターネットを経由しないように注意する必要があります。 – halfer