Jquery ajax刷新-如何删除闪烁

Jquery ajax刷新-如何删除闪烁,jquery,ajax,Jquery,Ajax,我有一个MVC应用程序,它有一个管理页面,我需要每隔10秒更新显示的数据(以防数据库中的数据发生更改)。我使用的是ajax,但重新加载时会出现闪烁。在没有明显眨眼的情况下实现这一点的最佳方法是什么?注意:我是ajax新手 我的看法是: @model IEnumerable<RangeTimer.Models.UserName> <div class="container"></div> <div class="jumbotron">

我有一个MVC应用程序,它有一个管理页面,我需要每隔10秒更新显示的数据(以防数据库中的数据发生更改)。我使用的是ajax,但重新加载时会出现闪烁。在没有明显眨眼的情况下实现这一点的最佳方法是什么?注意:我是ajax新手

我的看法是:

@model IEnumerable<RangeTimer.Models.UserName>


<div class="container"></div>
<div class="jumbotron">


    <div>
        @Html.ActionLink("Add Name to list for range time", "AddUserName", new { target = "_blank" })
       <br />
     </div>
     <hr />
    <div id="Update">
    <table class="table">
        <tr>

            <th>
                @Html.DisplayNameFor(model => model.FullName)
            </th>
            <th></th>

        </tr>

        @foreach (var item in Model)
        {
            <tr>

                <td id="FullName">

                    @Html.DisplayFor(modelItem => item.FullName)
                </td>

                @Html.HiddenFor((modelItem => item.Id))
                <td>

                    @Html.ActionLink("Delete", "DeleteFromAdmin", new { id = item.Id })

                </td>
            </tr>
        }

    </table>
</div>
</div>


<script>


   function refresh(){
       $.ajax({
           url: '@Url.Action("Admin", "UserNames")',
           type: "post",
           cache: false,
           success: function(data){
                 $("#Update").html(data);

           }
       });
   }

$(document).ready(function(){
    refresh(); //Call auto_load() function when DOM is Ready
});

//Refresh after 10000 milliseconds
setInterval(refresh, 10000);



</script>

闪烁是显而易见的,因为您正在替换一个新的HTML部分。它删除现有的HTML并添加新的HTML。但是如果你觉得它仍然让你恼火,那么你可以做的一件事就是保留HTML,那就是保留表结构,只更新其中的数据,这看起来很棒,没有任何闪烁,但它需要更多的工作。你是不是建议我不使用.HTML(数据)?是的,相反,您可以从服务器传递JSON并执行循环,只需更新td中的数据
    public ActionResult Admin()
    {

        return View(db.UserNames.OrderBy(c => c.Id).ToList());


    }