【问题标题】:PHP Newsfeed with Reload带重新加载的 PHP 新闻提要
【发布时间】:2012-05-13 10:49:09
【问题描述】:

我有一个基于 PHP 和 MYSQL 的新闻源。要获取新内容,用户必须刷新页面。我正在开发一个推送系统,该系统将使用新帖子更新元素,而无需刷新整个页面。我该怎么办?

【问题讨论】:

  • 如果你还没有,你可以看看socket.io。即使您选择不使用它,它的(开放)源代码也可能提供一个很好的蓝图。

标签: php javascript jquery pusher


【解决方案1】:

听起来像是Ajax! 的工作

此外,如果您想让工作变得非常简单,请使用jquery。语法看起来像这样:

$.ajax({
type: "post", url: "/SomeController/SomeAction",
success: function (data, text) {
    //....
},
error: function (request, status, error) {
    alert(request.responseText);
}
});

编辑

要在用户单击“显示更多内容”链接时更新页面,您可以使用 javascripts onclick 功能或使用 jquery 的内置内容。

普通JS:

<somekindOfLinkOrButton onclick("moarStories();")/>

<script>
    function moarStories(){
        //ajax here
    };
</script>

Jquery 方式(更简单)

<script>
   $("#ElementId").click(function(){
         //ajax here
   });

【讨论】:

  • 等等,你根据教程链接对我投了反对票?伙计,答案仍然有效,我给出的链接也是如此
  • 是的,它有效但很差。只是一个链接不是答案。看看here
  • 另外,这是错误的答案。他想知道如何推送新闻,而不是如何像这样刷新它们。推送和轮询是不同的。
  • 嗯,我想像推特一样做。所以用户点击一个对话框,上面写着新的故事可用(我已经通过 Pusher 工作了),当他们点击它时,它将加载新的故事。我只是不知道该走什么路线。 Websockets 或 AJAX(对我来说都是新的)。
  • 好吧,对于您的第一点,他要求的是想法而不是完整的代码解决方案。第二点,我承认。你的权利不是真正的推动
【解决方案2】:

您只需向服务器发送一个请求,服务器就会尝试保持连接处于活动状态,直到您获得新的更新。当您从数据库中获得新的更新时,您只需将其推送到客户端并关闭此连接

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-21
    • 1970-01-01
    • 2016-07-30
    • 2011-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多