0

私の更新された完全なスクリプト:

$(document).ready(function() {
                 $.getJSON('table.json',function(data){

                    $('#mytable').empty(); 
                    var html = '';
                    html += '<tr class="tableheader"><th>Name</th><th>Code</th><th>Value</th><th>Bid</th><th>Offer</th></tr>';
                    for (var i=0, size=data.length; i<size;i++) {                           
                            html += '<tr class="tablecontent"><td>'+ data[i].name+ '</td><td>'+ data[i].code+ '</td><td>'
                                         + data[i].value+ '</td><td>'
                                         +data[i].bid+'</td><td>'+data[i].offer+'</td></tr>';
                            }

            $('#mytable').append(html);
            tablerows('mytable');
            setTimeout(poll,5000);

        });




        });

        var poll = setInterval(function(){
        $.ajax({
        type:"GET",
        url: "dummy.json",
        success: function(data){
        //HANDLE DATA
         setTimeout(poll,5000);
    }
   });
},5000);

これで私を助けてください。私は3つのJSONを持っています。最初の Json が最初に読み込まれます。これで完了です。

2 番目の json を解析する必要があり (2 つのフィールドが変更されています)、最初の json + 変更されたフィールドを表示し、次に 3 番目の JSON から再び表示します。

以下のスクリプトを書きました。

var poll = setInterval(function(){
        $.ajax({
        type:"GET",
        url: "dummy.json",
        success: function(data){
        //HANDLE DATA
         JSON.parse(data); 
    }
   });
},5000)

dummy.json は、2 番目に変更された JSON です。これは正しい方法ですか?$(document).ready でこの関数関数を呼び出すにはどうすればよいですか?

4

1 に答える 1

0

通常の関数として設定し、成功ハンドラー内でそれ自体から呼び出すと、自分自身を先取りすることはありません。次に、$(document).ready から 1 回だけ呼び出すこともできます。

var poll = function(){
    $.ajax({
        type:"GET",
        url: "dummy.json",
        success: function(data){
        //HANDLE DATA
            setTimeout(poll,5000);
        }
    });
}
于 2012-11-12T12:21:43.467 に答える