Ajax需要新的数据而不是所有的数据

本文关键字:数据 Ajax | 更新日期: 2023-09-27 18:15:52

是否有更好的方法从服务器请求新数据,而不是再次请求所有数据加上新记录?例如:如果我有一个像twitter这样的网站,我写了一条推文,我希望服务器显示新的推文,而不是每条推文加上新的。

下面是我的jquery代码:
$(".submitt").click(function () {
    txt = $(".texto").val();
    $.ajax({
        type: "POST",
        url: "/comment.cshtml",
        global: true,
        data: { text: txt },
        cache: false,
        success: function (result) {
            $("#com1").html(result);
        },
        error: function (req, status, error) {
            alert("There was a problem submiting your comment, please try again later");
            return false;
        }
    });
    return false;
});
这是我的c# Razor代码(.cshtml)
@{
 var db = Database.Open("PhotoGallery");
  var texto = Request.Form["text"];
 if(texto != null){
        db.Execute("INSERT INTO Photos (UploadDate, UserId, CommentText) VALUES (@0, @1, @2)", DateTime.Now, WebSecurity.CurrentUserId, texto);
  }else{
      return;
  }
 var photos = "SELECT TOP 19 * FROM Photos INNER JOIN UserProfiles AS r ON Photos.UserId = r.UserId INNER JOIN Friends AS t ON Photos.UserId = t.Q WHERE t.P = @0 ORDER BY Photos.Id DESC";
}
@foreach (var photo in db.Query(photos, WebSecurity.CurrentUserId))
        {
 <div>etc etc etc...</div>
}

Ajax需要新的数据而不是所有的数据

您可以简单地使用JS在客户端创建一个无限循环,然后运行延迟,当延迟(例如:1分钟)通过时,您调用Ajax查询来执行查询,该查询返回并附加仅在当前时间和当前时间(1分钟)之间插入的信息。