javascript - jQuery AJAX 检测幻灯片上/下运动中的数据更改显示

标签 javascript asp.net ajax jquery

我想为新闻门户构建一个评论系统。

我希望 jQuery AJAX 能够检测是否有人添加评论数据,它会自动更新 SlideDown 运动中添加的评论。

我怎样才能做到这一点?谢谢。

(注意:我使用 ASP.NET 作为服务器)

enter image description here

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script>
        $(document).ready(function () {
            $.ajax({
                url: 'WebForm1.aspx',
                success: function (data) {
                    $("#Urunler").html(data);
                }
            });
        });
    </script>
    <style>
        li
        {
            width: 100px;
            height: 30px;
            background: yellow;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>


        <ul id="Urunler" runat="server">

        </ul>


    </div>
    </form>
</body>
</html>

这是背后的代码,

using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;

namespace WebApplication2
{
    public partial class WebForm1 : System.Web.UI.Page
    {

        SqlConnection cnn = new SqlConnection("Initial Catalog=Northwind;Data Source=localhost;Integrated Security=SSPI;");

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                cnn.Open();
                SqlCommand cmd = new SqlCommand("SELECT FirstName FROM Employees", cnn);
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        Urunler.InnerHtml += "<li>" + dr.GetString(0) + "</li>";
                    }
                }
                cnn.Close();
            }
        }
    }
}

最佳答案

如果我没猜错的话,您正在寻找诸如 facebook/gmail 的实时通知之类的东西。

您可以通过实现多种架构来实现它:

  1. Ajax 池:每 N(假设 5)秒向服务器发出一次 ajax 请求,服务器将为您提供最新的评论。这是最简单也是最重的方法。有了一点流量,就不会花费大量时间来用这么多不必要的请求淹没您的服务器,因为即使什么也没有发生,您也会执行请求。
  2. Web Socket:您可以使用socket.io 并打开一个套接字将更新转发给所有客户端。这是解决该问题的常用方法。也是一件俏皮的事。您可以使用this答案来应对这种方法。
  3. 反向 Ajax/Comet:最后一个是最难的。 Facebook 使用这种架构,并且由于他们正在处理一些高流量 (:p),我们可以假设该架构具有扩展能力。您可以通过this通过视频了解反向 ajax 或 comet 方法。这个so answer帮助您了解它。

更新: 这个article似乎通过不同的技术来实现你的目标。这可能会有所帮助。

关于javascript - jQuery AJAX 检测幻灯片上/下运动中的数据更改显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19639346/

相关文章:

javascript - 给定变量到值的映射,如何调用 JavaScript 函数?

javascript - JS 中的 EnableValidator

javascript - PHP 文件不返回 .responseText 中的文本

jquery - 在.ajax调用中,是异步的: true assumed by default?

javascript - 在基于 AJAX 的 Web 项目中,我应该将 URL 放在哪里?

javascript - 如何等待所有 'put' 操作并行运行完成?

javascript - 如何在 IE8 的开发者工具中查看 JavaScript 对象?

JavaScript 实例化

asp.net - 使用 .Net 验证器在无效时将类添加到文本框

c# - 返回 View 时出现 ASP.NET MVC NullReferenceException