以下のコード(非常に簡略化されたバージョン)を使用して、クロスドメインgetリクエストを実行しています。
var addData = function() {
$.ajax({
type:'GET',
url:'http://DifferentDomain.com/data.php',
data:'body',
success: function(data){
$('body').html(data);
}
});
}
IEはCORSをサポートしていないため、iecorsプラグインを使用する必要がありましXDomainRequest
た。これは、IEが失敗すると、XHttpRequest
に切り替わるため、うまく機能しますXDR
。
しかし、私が抱えている問題は$('body').html(data);
、IEで機能するのは、コンソールでライブで実行した場合のみであり、最初に呼び出されたときではないよう$(document).ready
です。(これは、XHRをサポートしているため、他のすべてのブラウザーで正常に機能します)
これはタイミングの問題だと思うので、これを回避する方法がよくわかりませんsetTimeout()
。IEブラウザでを使用して2回実行しますか?誰かアドバイスをいただけますか?よろしくお願いします。
編集
setTimeoutを使用して実行することで回避策を見つけましたが、それでもこれは最善の解決策ではないと感じています。
setTimeout(function(){
addData();
},0);