同じドメインの安全な(HTTPS)URLに非同期呼び出しを行う必要があります。
現在、ページは通常のHTTP(非セキュア)で動作しています。
つまり、これは同じドメイン内のURLを呼び出していますが、HTTPSを使用しています。
この呼び出しをHTTPSに切り替える前に、クロスドメインAJAX呼び出しを許可するサーバー側プロキシの実装を終了しましたが、HTTPとHTTPSも異なる発信元と見なされるため、同じ起点ポリシーに直面しています。したがって、このプロキシは使用できません。
概要:クロスドメイン、asnynchronousの実行方法POST要求?
さまざまなメモ:
まず、@ missingoと@PiTheNumberの両方の質問に+1を付けました。
長い時間を費やしてから、ページ全体をHTTPSに切り替えるという結論に達しました。理由は:
最新のブラウザのほとんどはCORSをサポートしていますが、Internet Explorerの8番目のバージョンからは独自の実装(XDomainRequestオブジェクト)があり、一部のコンピューターでは無効になっている場合があります(インターネットセキュリティゾーンではクロスドメインリクエストがデフォルトで無効になっています)。
OperaはCORSをサポートしていません。 12番目のバージョンはこれをサポートしますが、ユーザーは最初にこの新しいバージョンを採用する必要があるため、これはオプションではありません。これは2日以内には行われません。
Webクライアントアプリケーションは別のドメインにあるRESTfulサービスレイヤーを要求する必要があるため、クロスドメインリクエストを行う必要があります。ありえない。
すべてをHTTPSに切り替えると、サービスレイヤープロキシアプローチが再び機能します(これは予想される動作です)。
とにかく感謝します。両方の答えがこの結論に到達するために私を大いに助けてくれたからです。
@Samは、誰にとっても興味深いコメントを追加しました。 Internet Explorer 8および9でCORSを取得する方法についてです(#7を参照): http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations- and-workarounds.aspx
Access-Control-Allow-Origin を使用しています。ヘッダーを送信するだけで大丈夫です。
AJAX、サブドメイン、およびSSL も参照してください
HTTPSを介してページ全体へのアクセスを再検討するか、少なくともこれが現実的でないことを本当に確認する必要があります。
HTTP経由で初期ページとスクリプトをロードすることにより、ユーザーは、スクリプトが元々送信することを意図したものであり、第三者による操作(パスワードのキーロギングなど)を受けていないことを保証しません。つまり、SOPをバイパスするHTTPS要求は、HTTPSを介して最初に提供されたページからのHTTPS要求と同じセキュリティ保証を提供しません。
誰もが見ていますか:
https://github.com/jpillora/xdomain
PostMessageとiframeを使用してcors要求を実現し、クロスブラウザーです(IEでXDomainRequestsを食いしばる必要はありません)。
おそらく、それはクロスプロトコルCORSリクエストを許可しますか?