ajax通过append()即时获取的数据只能实现添加展现

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><div id="'+i+'"><div class="num">'+data[i].Num+'</div><div class="a">'+data[i].Time+'<div class="C">'+data[i].Description+'</div></div></div></li>';
                        var tag = '#'+i;
                        console.log(!$(tag).length);
                        if(!$(tag).length){
                            $('.tb-con ul').append(dom);
                        }
                    }
                }
            }
        });
    }
    
window.setInterval('longPolling()',1000);   

在json中添加数据可以即时展现,但是删除后没法即时更新。

阅读 4.6k
3 个回答

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题