Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Ajax kann nur Daten hinzufügen und anzeigen, die sofort über append() erhalten wurden

function longPolling() {
        $.ajax({
            url:'data.json',
            type:'POST',
            dataType: "json",            
            success:function(data){
                if (data){
                    var date_len = data.length;
                    for (var i=0;i<date_len;i++){
                        var dom = '<li><p id="'+i+'"><p class="num">'+data[i].Num+'</p><p class="a">'+data[i].Time+'<p class="C">'+data[i].Description+'</p></p></p></li>';
                        var tag = '#'+i;
                        console.log(!$(tag).length);
                        if(!$(tag).length){
                            $('.tb-con ul').append(dom);
                        }
                    }
                }
            }
        });
    }
    
window.setInterval('longPolling()',1000);   

Hinzugefügte Daten in JSON können sofort angezeigt werden, sie können jedoch nicht sofort nach dem Löschen aktualisiert werden.

过去多啦不再A梦过去多啦不再A梦2707 Tage vor942

Antworte allen(3)Ich werde antworten

  • 世界只因有你

    世界只因有你2017-06-12 09:31:42

    你在请求前先把ul里面的内容清空不就好了?这样每次拿到不都是最新的吗
    $('.tb-con ul').html("")

    Antwort
    0
  • 高洛峰

    高洛峰2017-06-12 09:31:42

    首先是及时,你打错了一个字,
    ajax是用来请求后台数据的,append是把请求来的数据动态的追回到页面,
    一般删除的话,也是先请求后台,问后台可不可以删,不可删提示,可删就直接删了,然后页面上把dom删除就好了

    Antwort
    0
  • 为情所困

    为情所困2017-06-12 09:31:42

    ajax是异步请求数据的时候才会有,数据格式在传输的时候默认是json字符串,ajax是用在服务器与客户端直接的,不是取json数据的,本地可以用JSON.parse转换,应该不用ajax这么复杂

    Antwort
    0
  • StornierenAntwort