使用Jquery / SetTimeout更新Div - 更新不起作用

时间:2016-11-16 22:04:13

标签: javascript jquery ajax settimeout

我正在尝试做什么: 我试图在调用函数后自动更新/刷新div时使用settimeout来循环/运行。

什么不工作 要清楚settimeout正在工作,但是当我将新的测试数据输入db时,div不会自动刷新/更新。换句话说,如果我刷新页面,我会看到新的测试数据,但是如果我让更新功能运行则不会。

代码:

function update(a) {
$.ajax({    //create an ajax request to load_page.php
    type: "GET",
    url: "core/engine.php",   
    data: "q=data&account="+a,          
    dataType: "html",   //expect html to be returned                
    success: function(response){                    
        if(response=="nologin") {
            alert("Sorry, but either your account is not activated or your login is incorrect!");
        } else {
            console.log("Queried Database...");
            var j = $.parseJSON(response);
            $.each(j, function (k, v) {
                    $("#login-box").hide();
                    //$("#trades").html(' ');
                    localStorage.setItem("wings_lastsignal", v.candel);
                    var lastsignal = localStorage.getItem("wings_lastsignal");
                    console.log(v.candel);
                    if(lastsignal == v.candel) {
                        console.log("No New Signals");
                        localStorage.getItem("wings_currentsignals");
                        if(v.signal == 'Buy') {
                        console.log("Current Buy Sent...");

                    $("#trades").append('<span id="'+v.candel+'" class="tradesignal"><span class="signalarrowup"></span>'+v.time+'<span style="color:#2DC14E;"> '+v.signal+'</span> &ensp; <button class="tsym" id="sym_'+v.epoch+'" onClick="var a = this.innerHTML; tsclick(a);" value="'+v.symbol+'">'+v.symbol+'</button>&ensp; '+v.price+'&ensp; '+v.timeframe+'</span>'); 
                } else {
                    console.log("Current Sell Sent...");

                    $("#trades").append('<span id="'+v.candel+'" class="tradesignal"><span class="signalarrowdown"></span>'+v.time+'<span style="color:#fb5350;"> '+v.signal+'</span> &ensp; <button class="tsym" id="sym_'+v.epoch+'">'+v.symbol+'</button>&ensp; '+v.price+'&ensp; '+v.timeframe+'</span>'); 
                }

                    } else {
                    playChing();
                    console.log("New Signal");
                    if(v.signal == 'Buy') {
                        console.log("Buy Sent...");

                    $("#trades").append('<span id="'+v.candel+'" class="tradesignal"><span class="signalarrowup"></span>'+v.time+'<span style="color:#2DC14E;"> '+v.signal+'</span> &ensp; <button class="tsym" id="sym_'+v.epoch+'" onClick="var a = this.innerHTML; tsclick(a);" value="'+v.symbol+'">'+v.symbol+'</button>&ensp; '+v.price+'&ensp; '+v.timeframe+'</span>'); 
                } else {
                    console.log("Sell Sent...");

                    $("#trades").append('<span id="'+v.candel+'" class="tradesignal"><span class="signalarrowdown"></span>'+v.time+'<span style="color:#fb5350;"> '+v.signal+'</span> &ensp; <button class="tsym" id="sym_'+v.epoch+'">'+v.symbol+'</button>&ensp; '+v.price+'&ensp; '+v.timeframe+'</span>'); 
                }
                }

            });
        }   
        //alert(response);
        //console.log(response);
    }

}).then(function() {         // on completion, restart
   var a = localStorage.getItem("wingsaccnum");
   //setTimeout(update, 10000);
   setTimeout(function(){ update(a) }, 20000);  // function refers to itself
   console.log("Timeout");

});
}

当我按下按钮时,使用此Jquery片段调用此函数:

 $( "#rbuttonon" ).click(function() {
var acc = localStorage.getItem("wingsaccnum");
//refresh_box();
update(acc);
console.log('Interval set');
 });

其他注释: 要清楚,我不介意是否有办法始终确保每隔xx时间更新此div,而无需按任何按钮。我相信问题出在我的代码逻辑中,但我非常感谢一些帮助!

0 个答案:

没有答案