$ .getJson()はIE9で動作しますが、ChromeとFirefoxでは機能しませんが、私のコードで何が問題になっていますか?

StackOverflow https://stackoverflow.com/questions/8371570

質問

IE9とテキストエディターを使用してWebアプリケーションを開発しました。 JSONファイルを読み取り、そのファイルとJavaScriptおよびjQueryコードのロジックに従っていくつかのDiv要素を埋めます。 IE9では、完全に機能します。

Chromeでは、$ .getjson()ステートメントを実行できないため、データはありません。 Firefoxの下では、$ .getJson()ステートメントは明らかに実行されています(アラートメッセージはこれを証言します)が、何も読みません。

JSONファイルはjsonlintを通過します。

ChromeもFirefoxもエラーを示していません。

JSONサイトのJSONデータを使用してサンプルファイルを作成し、JSONLINTを介して検証し、そのファイルを使用してコードを実行しました。違いはありません - クロームはまだ$ .getjson()ステートメントを無視します。

私のコードの関連セクション:

    function buildTree(centralID) {
      alert("Can we start, at least?");
     $.getJSON('sample.json', function(data) {
      alert("first success");
      $.each(data.person, function(i, xdata) {

Chromeは最初のアラートを表示しますが、2番目のアラートは表示されません。

何か案は?

役に立ちましたか?

解決

組み込みのエラー関数を使用してエラーを表示してデバッグできます。

$(document).ready(function(){ // Make sure your jQuery is inside this
$.getJSON("sample.json", function(data) {
    alert('Point 1 Reached.');
    console.log(data); // Here we log to our console
    $.each(data.feed.entry, function(i, item) {
             // Do your stuff here
        }); // End of $.each

// Here Success, Completed & Error do something. chained onto $.getJSON
        }).success(function() { alert("success"); })
          .error(function(jqXHR, textStatus, errorThrown) { // Debug the error!!
                    console.log("error " + textStatus);
                    console.log("error throw " + errorThrown);
                    console.log("incoming Text " + jqXHR.responseText);
                }) // End of .error
          .complete(function() { alert("complete"); });
        });
}); // End of DOM Ready

これにより、FirefoxまたはChromeのコンソールウィンドウにエラーが表示されるはずです(Console.logはIEで機能し、スクリプトを破壊しません)。 FirefoxまたはChromeプレスのコンソールウィンドウを表示するには F12. 。 JSONが機能していない場合、デバッグできるエラーが表示されます。


アップデート
また、このコードがあなたの中にあることを確認してください $(document).ready(). 。 $ .getJson()は、ブラウザ全体で予期しない動作を引き起こす可能性があります。

他のヒント

これはWebサーバーで実行されていますか、それともブラウザでファイルを開いているだけですか?ファイルを開いているだけなら、問題が発生します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top