3

私の問題は非常に単純です。new.jsonという名前のファイルがあり、JQueryを使用してデータをロードして表示しようとしています。私はJavaScriptコードを書いています:

$.getJSON("new.json", function(data){
        // I have placed alert here previously and realized it doesn't go into here
        $.each(data.streetCity, function(i,s){
            alert(s);
        });
    });
}

new.jsonのデータは次のようになります。

{"streetCity":
    {
        "1":"Abergement-Clemenciat",
        "2":"Abergement-de-Varey",
        "3":"Amareins"
    }
};
4

3 に答える 3

11

Chromeを使用している場合。Chromeはxmlhttprequestがローカルファイルを要求することを許可していないためです。したがって、jqueryはnew.jsonをロードできません

あなたは付け加えられます

--allow-file-access-from-files

chromeの開始コマンドに移動します。これにより、xmlhttprequestがローカルリソースをロードできるようになります

于 2012-12-14T02:10:53.447 に答える
2

jQuery 1.5以降を使用している場合は、エラーハンドラーを呼び出しにチェーンして、何が起こっているかを確認できます。

$.getJSON("new.json", function(data){
        // I have placed alert here previously and realized it doesn't go into here
        $.each(data.streetCity, function(i,s){
            alert(s);
        });
    }).error(function(jqXhr, textStatus, error) {
                alert("ERROR: " + textStatus + ", " + error);
    });

new.jsonは、おそらく呼び出し元のページとは異なるパスにあります。また、スニペットが正確である場合は、スクリプトの最後の中括弧やjsonの最後のセミコロンは必要ありません。

于 2012-12-14T02:12:56.637 に答える
1

あなたの問題は';'です (セミコロン)JSONファイル内。JSON応答にはセミコロンは必要ありません。あなたの例がうまくいくはずであることを削除してください!

于 2013-01-03T20:46:49.910 に答える