クロスドメインAJAXリクエスト(jQuery 1.7.2を使用して作成)は、リクエストdataTypeが「jsonp」または「script」に設定されていない限り、IE9では実行されません。
この問題は、応答を気にせず、dataTypeを指定しないままにしたリクエストのフレーミングで発見しました(はい、応答を気にする必要があることはわかっています)。
したがって、たとえば、これは機能します。
$.ajax({
url: "http://www.google.com",
type: "GET", // or "POST"
dataType: 'jsonp'
});
しかし、これはしません:
$.ajax({
url: "http://www.google.com",
type: "GET" // or "POST"
});
「動作」とは、FirebugまたはF12で行われたHTTPリクエストを確認することを意味します。
どちらのリクエストも他のブラウザで機能します。設定jQuery.support.cors = true;
は成功に影響しません。また、crossDomainをtrueに設定したり、キャッシュをfalseに設定したりすることもありません(AJAXリクエストで)。
AJAXリクエストの成功が、IEだけでリクエストされたdataTypeに依存する必要があるのはなぜですか?返されたデータを処理する能力に影響を与える理由を理解できます。また、一部のサーバーが特定のdataTypeに対するすべての要求を拒否する可能性があることも理解しています(ただし、ここではそうではないようです)。