2012-06-07 9 views
13

IE9では、Cookieを使用してクロスオリジンリクエストを作成しようとしています。しかし、Access-Control-Allow-Origin、Access-Control-Allow-Credentials、Access-Control-Allow-Methodsがすべて適切な値(元のドメイン、true、GET、POST)に設定されている場合でも、IE9依然としてリクエストからCookieを送信または設定していません。IE9でCookieを使用してCORSリクエストを行いますか?

var xdr = new XDomainRequest() 
xdr.open("http://mydomain.com/cors.php") 
xdr.withCredentials = true; 
xdr.send(); 

クッキーがIE9でCORS要求で動作するように取得する方法上の任意のアイデア:ここで私が使用しているスクリプトがですか?

+0

ジェフを使用するようにコントロールに優れている場合は、あなたは解決策を見つけたのですか?おそらくあなたは回避策としてクエリパラメータとしてクッキー情報を送信できますか? – Amareswar

答えて

18

このページの下のhttp://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspxは、Update: Internet Explorer 10 now supports CORS using XMLHTTPRequest.が表示されます。これは、IE9でCORSが正しく処理されないことを意味します。ごめんなさい。同じ記事でプロキシを使用した回避策を提案しています。

ブラウザの互換性マトリックスは、部分的にサポートすることにより、彼らは

のInternet Explorer 8がXDomainRequestオブジェクトを介してサポートを提供しますが、資格認定要求http://code.google.com/p/sgvizler/wiki/Compatibilityをサポートしていません意味http://caniuse.com/corsで与えられています。私の経験から

+0

おそらくXHRオブジェクトはIE10でうまく動作しますが、すべてのクッキーを送信するわけではありません。 – JNF

+1

IE10 +でのみ正常に動作することを確認できます。 IE9とIE8はXDRを使用する必要があります。コンテンツタイプはtext/plainでなければならず、Cookieを使用できないためです。ところで、セキュリティ上の理由からドメイン間のクッキーも禁止されているため、プロキシ(またはcURL)はクッキーには作用しません。 –

+1

Windows10以前のIE10とIE11は、サーバーがこのような方法でクライアントのブラウザからサーバーのドメインCookieを読み込むためには、特別なP3Pポリシーヘッダーがサーバーに設定されている必要があると考えています。 – Dtipson

0

、両方のドメインがpostMessage

+1

多少問題が... http://stackoverflow.com/questions/16226924/is-cross-origin-postmessage-broken-in-ie10 – JNF

関連する問題