【问题标题】:Refresh a DIV with AJAX that requires MySQL queries + PHP使用需要 MySQL 查询 + PHP 的 AJAX 刷新 DIV
【发布时间】:2013-01-01 09:35:01
【问题描述】:

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

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

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

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

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

抱歉阅读了很久,感谢所有回复!

【问题讨论】:

标签: php mysql ajax jquery web


【解决方案1】:
function reload_content() {
  $('#latest_post').load('ajax/get_latest.php');
}

window.setInterval(reload_content, 10000);

【讨论】:

    【解决方案2】:

    我将为您澄清亚历山大的回答。 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 秒检查一次的内容。

    【讨论】:

    • 谢谢。解释将帮助我根据自己的需要塑造代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-08
    相关资源
    最近更新 更多