8921


IE9で$.ajaxが動作しません(IE10やChromeでの正常動作は確認済み)

現在ajax実行時のソースは下記のソースの通りです。

現状の動作としてはサーバー側に処理が移る前に、  
error: function (XMLHttpRequest, textStatus, errorThrown) に到達してしまう状況です。  
textStatusには"error"、errorThrownには"アクセスが拒否されました。"という文字列が入っています。

"アクセスが拒否されました。"の対応策として、[このサイト](http://jumbo-
pit.seesaa.net/article/405203239.html)を参考に「jquery.xdomainrequest.min.js」を試したのですが、依然として"アクセスが拒否されました。"が帰ってきます。

現在は[このサイト](http://dev.classmethod.jp/client-side/ie9-xdomainrequest-cors-
bug)を参考に、XDomainRequestでの対応を試みています。

解決方法の分かる方がいましたら、ご教授をお願いします。  

[code]

    $.ajax(
                {
                    url: url,
                    crossDomain: true,
                    type: 'GET',
                    processData: false,
                    contentType: false,
                    data: jsonData,
                    async: false,
    
                    success: function (jsonData) {
                        ～
                    },
    
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                        ～
                    }
                });
    
[/code]


CC BY-SA 4.0
2015-04-08T09:16:11.800
8906
2021-01-16T10:15:26.233
2021-01-16T10:15:26.233
3060
7626
question
javascript ajax internet-explorer
IE9 のみ $.ajax が期待通り動作しません


・他のWebブラウザを試しましたか？  
・IEが互換モードで動いているかもしれません。F12で開発者ツールを開き、ドキュメントモードを確認して下さい。


CC BY-SA 3.0
2015-04-08T13:35:02.650
8915
2015-04-08T13:35:02.650
8505
8906
answer


IE10未満のXMLHttpRequestはクロスドメイン通信に対応していません。その代りIE8以降では[XDomainRequest](https://developer.mozilla.org/en-
US/docs/Web/API/XDomainRequest)が提供されています。[しかしjQueryではこれに対応せずプラグインを使うことになっています](https://bugs.jquery.com/ticket/8283#comment:43)。  
質問文にはどのようなサイトを参考にされたのか、プラグインを読み込んでいるかが書かれておらず一つの可能性としてあげました。

* * *

質問文が更新されたのでそれを踏まえて追記します。  
jQueryのチケットからリンクされている[XDomainRequest - Restrictions, Limitations and
Workarounds](https://docs.microsoft.com/en-
us/archive/blogs/ieinternals/xdomainrequest-restrictions-limitations-and-
workarounds)に各種制限事項が挙げられています。いくつかはプラグイン側で回避策がとられていますが、回避できない制限もあります。これらに引っかかっている可能性はありませんか？  
特に

> 5 No authentication or cookies will be sent with the request  
>  7 Requests must be targeted to the same scheme as the hosting page

などがあります。


CC BY-SA 4.0
2015-04-09T01:07:31.203
8921
2021-01-16T08:05:18.627
2021-01-16T08:05:18.627
19769
4236
8906
answer