0

以下は、クロスドメインの問題として出くわすことはありませんが、そのようなにおいがします.

これが私のセットアップです(すぐに灰色になります):

index.html のすぐ隣にある config.json というフラット ファイルをロードする index.html ファイルがあります。$(document).ready() と window.addEventListener('load'... の両方を使用してこれを行いました:

$(document).ready(function(){
    $.get('config.json', function(data){
        alert('asd');
    })
});

アラートはほとんど発生しません。これは、Chrome 9 と Firefox 3.6 および FF4 で発生します。他のブラウザは試していません。ネットワーク タブの下にある Firebug と dev コンソールを見ると、config.json が読み込まれていることがわかります。適切なヘッダー (application/json) があります。したがって、データはロードされていますが、コールバック関数は起動しません。

ただし、Firefox では、クイック ダブル パターン (ハートビートなど) で更新すると、非常にまれにアラートが発生します。私は Firefox に 3.6 でしかそれをさせることができないので、それは js エンジンが v4 や Chrome よりも少し遅いためだと思います。

それに加えて、それは奇妙になります。同じドメインの config.json へのフル パスを設定すると、読み込みに失敗します。config.path をhttp://localhost/config.jsonに設定し、http: //local.mac.com/からサイトにアクセスすると、アラートが発生します! ドメインを切り替えて localhost からアクセスし、config.json にhttp://local.mac.com (または abcdef.com) を使用すると、それも発火します。

/etc/hosts (mac) に「local.mac.com」のドメインを設定しているので、localhost の代わりにそれを使用してサイトをテストできます。「abcdef.com」の /etc/hosts で別のドメインも試しましたが、同じ結果が得られました。

私の時間は午前2時近くなので、私が見逃しているものがあるに違いありませんが、私は困惑しています. 一体何が起こっているのか誰か教えてくれませんか?

4

1 に答える 1

0

$.getJSON 呼び出しを試しましたか??

$.getJSON('config.json', null, function(data) { alert(data);  }); 
于 2011-03-07T11:43:20.610 に答える