特に、最近のWebアプリケーションに非同期処理を取り入れようとする私の弱い試みについて、私はStack Overflowに関する優れた指示を受けました。いくつかの問題を最小限に抑えるために、私はgetJSONを使ってjfriend00が述べたいくつかの動作を見るための非常に小さなHTML/javascriptページを作成しました。これまでのところ私が見る限り、これは正当なプログラムですが、IE9はそれを実行しますが、FireFoxは何らかのテキストを出力し、その後ハング/無限ループを行いますが、ChromeはH1(FireFoxはこれを拒否しました)と最後の文字列のみを表示します。明らかに、このコードにはひどく間違ったことがあり、私はそれを見ていません。あなたはどう?小さなモデルを使って非同期処理をテストする
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
</head>
<body>
<h1>testing 2</h1>
<script type="text/javascript">
function buildTree() {
$.getJSON('MurakiMaida.json', function(data) {
document.write("how about here?<br>");
$.each(data.person, function(i, xdata) {
document.write(xdata.id + "<br>");
});
});
document.write("<br>what are we doing here?");
}
buildTree();
</script>
</body>
</html>
絶対に正しく、ありがとうございます。 3つのブラウザはすべて同じように動作します。すべてが「ここはどうですか?」と表示されます。文字列。 –
私はあまりにも早く話しました。 IE9は常に「在庫」HTMLのみを表示します:H1と、あなたが推薦するDIVに入れたのと同時に入力したコメント。 Chromeは、ファイルのJSON IDを「ここはどうですか?」という文字列の下に表示します。 MozillaはChromeと同じように表示されます_until_私は単一の関数を入力する際に警告を追加します。私がそれをすると、MozillaはIE9の動作を示します。IDはなく、文字列はありません。ちょうど株式HTML。 なぜこれが起こっているのかわからなくても、それは実験の目的でした! - マイケル –