仅使用jquery在json feed中添加新内容

时间:2015-02-03 13:24:46

标签: jquery ajax json

我正在将一个json feed解析成div,这部分现在还可以。 但每个条目都有一个表单,每次刷新时表单都会消失。

我想要的是仅在新内容前加上如果json Feed上有新内容,那么我可以保留每个条目的表单内容。

我目前的代码:

$(function () {
    function reload (elem, interval) {
        var $elem = $(elem);
        var $original = $elem.html();
        $.ajax({
            cache : false,
            url : 'ajax.php',
            type : 'get',
            success : function (data) {
                var servers = JSON.parse(data);
                var res = '';
                for(var i = 0; i<servers.length; i++){
                    res = res + '<div id="' + servers[i].serverid +'" class="alert alert-success" role="alert"><strong>' + servers[i].serverid +'</strong> ' + servers[i].servername +'<input></div>';
                }

                    $('#feed').empty().prepend(res);
                setTimeout(function () {
                    reload(elem, interval)
                }, interval);
            }
        });
    }
    reload('#feed', 5000);
});

1 个答案:

答案 0 :(得分:0)

如果是这种情况,那么您可以使用名为data-serveriddata-somename的其他属性,

<div id="something-unique" data-serverid="servers[i].serverid"></div>

当你在循环中迭代时,检查该值,

//Search Whole page for element having data-serverid="somevalue"
if($(document).find("[data-serverid='" + servers[i].serverid + "']").length==0){
   //Append that value else do nothing
}

并且,将其更改为,

$('#feed').prepend(res);