0

我目前正在开发一个主要使用 PHP/MySQL 和 HTML5 编码的网站,以此来学习代码并变得更好。我曾经在一个使用 AJAX 重新加载最新帖子的论坛工作,就好像用户刚刚刷新了网页一样,只是它只是动态更改了内容而没有完全重新加载。

我的网页:http: //vgrnews.com

我的具体情况如下:首页从 MySQL DB 加载四个最新公告和(即将)评论,并显示它们最快 -> 最新。它位于名为 maincontent 的 div 中。

我想做的事:无论用户是否刷新,都让公告通过 AJAX 动态显示。它可能会大约每 5-10 秒轮询一次服务器。

我不打算像那样保持主页刷新,但是一旦我添加更多内容,最好知道如何定期刷新 div。我已经阅读了 AJAX,但我不太了解所有的后勤工作,他们只是给你代码并希望你拿起它。如果我不理解,很难修改代码以适用于我的网站。

很抱歉长时间阅读并感谢所有回复!

4

2 回答 2

1
function reload_content() {
  $('#latest_post').load('ajax/get_latest.php');
}

window.setInterval(reload_content, 10000);
于 2013-01-17T18:52:37.690 回答
0

我将为您澄清亚历山大的回答。load() 函数所做的是对给定的 URL 执行 AJAX 请求,然后将所选 div(s) 的 HTML 设置为返回的内容。这意味着您的服务器应该返回正确的 HTML(并且只返回您想要在该 div 中的 HTML)。

您可以查看http://api.jquery.com/load/了解有关 load() 的更多信息。

如果您计划让服务器返回信息的 JSON(或 XML)表示,则必须使用 jQuery get() (http://api.jquery.com/get/),然后处理返回的数据带有回调。

请注意,get() 和 load() 都只是 jQuery ajax() 方法的隐式应用 (http://api.jquery.com/jQuery.ajax/)

编辑:

setTimeout 只是让浏览器每 x 毫秒调用一次函数。这就是它每 x 秒检查一次的内容。

于 2013-01-17T20:04:56.187 回答