我对jQuery的知识非常有限。我需要开发一个页面,该页面应显示发布的新消息的计数。在twitter和stackoverflow网站上,我看到一个div显示发布的新推文/问题的数量,点击它时,较新的推文显示在顶部。下面添加了示例图像:
请建议是否可以使用jQuery或Ajax实现。 感谢
答案 0 :(得分:5)
这些示例看起来像push
而不是pull
行为。我的意思是说服务器在页面上说'嘿,这个标签中有一条新推文' 而不是要求'是否有任何页面新推特?还没有?好的,我会在5秒内再次询问。
由于您使用的是ASP.NET,因此可以使用良好的 SignalR 库轻松地将通知从服务器推送到客户端。
您仍然必须在服务器上检测到有新的内容'并向匹配的客户端发送消息(带signalR)。并且还在客户端上处理消息并显示一段UI。
答案 1 :(得分:4)
在使用ASP.NET时,您可以使用UpdatePanel来帮助处理呼叫和更新内容。请注意,UpdatePanel
使用AJAX,并且可以设置为在指定的时间间隔内自动更新。
如果我是你,我会做的是使用UpdatePanel
来调用一个向Twitter API发出请求的方法,并抓取你还没有抓过的所有新推文。然后计算返回的推文数量,如果该数字大于零,我会显示“带有新活动的X推文”,或者您要显示的任何计数器消息。
如果你不熟悉jQuery,这对你来说可能是最好的解决方案,因为你可以使用UpdatePanel
和Repeater
来渲染你的推文并更新单击按钮/链接/等时显示,有或没有回发(无论您对此实现的偏好)。
重要的备注
请注意,Twitter API v1.1要求您使用 oAuth Tokens ,不应包含在AJAX调用中。您应该只使用服务器端代码向Twitter API提出请求,因此,此解决方案可能是最适合您的,因为您可以在代码中编写请求代码 - 后面(因此保持您的Twitter密钥和令牌安全),并使用UpdatePanel
。
<强>更新强>
我通常不会在Stack上推广自己的库,但如果您需要帮助使用oAuth向Twitter的API发出请求,请查看我的C# library for Twitter requests。该文档包含有关在Twitter上设置oAuth访问权限的说明,并且非常详细地帮助您使用库进行调用。它还包括库的MSDN样式文档,本身,示例请求以及所有类,方法和属性的完整IntelliSense。如果没有别的,它应该可以帮助您设置您的请求。如果您遇到任何问题,请告诉我,我可以帮助您。
答案 2 :(得分:2)
您需要使用$.ajax调用检索新邮件,并使用setTimeout每隔几分钟重复一次。但是对于那个ajax调用工作,你必须有某种API端点,你可以从中检索数据。
这不仅仅是你可以通过在某个地方放入一个jQuery插件来构建并完成它。在您可以执行任何操作之前,您需要了解有关Javascript,jQuery和特定API的知识。尝试查看jQuery basic tutoorial。
答案 3 :(得分:2)
您可以创建WCF服务以获取可以使用setTimeout调用的最新消息,以使用Ajax实时更新消息div,或者您可以使用SignalR添加实时功能。