イントロ
私は別の部署のWebサービスへの私たちの部署のイントラネットのWebページからのCORSのWeb要求を実行しようとしているが、私はよエラーが発生しました。私はこれについて全く新しいので、原因が異なるプロトコルによるものなのかどうかは判断できません。どのように私は安全でないエンドポイントへのセキュアなスタートポイントからのXMLHttpRequestを送信することができます
エラー
クローム52は以下を与えながら、IE11がAccess is Denied
を与えるCORS要求を実行しようとしている:
Mixed Content: The page at {MyPage} was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint {ServicePage}. This request has been blocked; the content must be served over HTTPS.`
意向
、必要なすべてのイベントハンドラをアタッチJSファイルを作成します。 class='contactLookUp'
属性を含むinput
要素。このファイルはイントラネット上にある私たちの部署のページでのみ参照されます。そのほとんどはhttps
プロトコルを使用しています。入力変更時にはXMLHttpRequest
が別のエンドポイントに送信されます.1つは社内イントラネット内にあり、部門コントロールの外にあり、http
プロトコルを使用します。 JSON形式のビジネスの連絡先が返されます。この時点で、ユーザーが簡単に必要な連絡先を選択できるように、ページにHTMLを挿入します。
ページのURL
以下は、イントラネット内のページの場所です。 [name]
は会社名を指し、[Location1]
と[Location2]
は異なるディレクトリです。
スタートポイント:
https://[name]01test.[name].abc/[Location1]/HTMLPage1.html
エンドポイント:
http://[name]intranet02.[name].abc/[Location2]/TelephoneDirectory/TelephoneDirectoryService.svc/GetPeople?term=[SearchTerm]
いくつかの原因が考え
私はCORS、jQueryの、およびWeb開発にはかなり新しいです私がしたいことが可能かどうかは分かりませんが、次の原因が考えられます:
- 混在したコンテンツ(クロームが与えるエラーが、私はこれが原因であると仮定します)
- サーバーで有効になっていませんCORS(サーバが当科のコントロールの外にあるように、これが有効になっている場合、私はITに依頼する必要はありませんまたは私は確信している場合を除き、これを有効にするためには、原因は私が
https
にエンドポイントを変更しようとしてきました- をしようとしてきた何混合コンテンツ)
ではありませんが、これは返します
404 Page not Found
エラー
スクリプト
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr) {
// Check if the XMLHttpRequest object has a "withCredentials" property.
// "withCredentials" only exists on XMLHTTPRequest2 objects.
xhr.open("GET", url, true); // <= Error here
}