0

jQuery(今はgetJSON)を勉強しようとしていて、苦労しています。何度も検索しましたが、なぜこれが機能しないのかわかりません。

JSON:

            {
                    "id" : 1,
                    "type" : "upload",
                    "who" : "chris ",
                    "action" : "uploaded a wallpaper entitled: ",
                    "target" : "Blah blah blah",
                    "time" : "3 hours ago"
            }

これが私のjQueryコードです

$(document).ready(function(){
    $('button').click(function() {
        $.getJSON("/js/activity.json", function(data) {
            $.each(data, function(key, value) {
                console.log(key + " : " + value);
            });
        });
    });
})   

もちろん、HTML は単純な

<button>Test</button>

コンソールに何も出力されないのはなぜですか? アラートの直後にアラートを配置すると起動.getJSONしませんが、アラートの前にアラートを配置すると起動します

4

2 に答える 2

1

activity.json ファイルにコメントが含まれている場合は、削除してください。コメントは JSON 仕様の一部ではありません。

于 2012-05-06T22:46:22.233 に答える
0

いくつかのことを試すことができます。コールバック関数 (getJSON 呼び出しの関数) に、console.log("test"); を入れるだけです。コールバックに参加しているかどうかを確認します。Firebug の .Net パネルまたは Chrome Inspector の Network パネルで JSON 呼び出しを監視して、JSON 呼び出しが起動し、ファイルが正しく返されていることを確認することもできます。たとえば、サーバーが JSON ファイルを正しく返す方法を認識していない可能性があります。

正しく機能している場合 (つまり、パスが正しい、ファイルが読み取られている)、データのログ記録を試してください - console.log(data) で、JSON が表示されていることを確認してください。次に、キーのループについて心配することができます。正しく機能していることを確認するためにその手順は必要ありません。

于 2012-05-06T22:16:44.770 に答える