0

以下のコード(非常に簡略化されたバージョン)を使用して、クロスドメイン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);
4

1 に答える 1

0

setTimeoutを使用して実行することで回避策を見つけましたが、それでもこれは最善の解決策ではないと感じています。

 setTimeout(function(){
   addData();
 },0);
于 2013-01-29T23:08:56.520 に答える