我正在构建一个基本论坛,其中每个帖子都包含一些文本、名字和姓氏以及撰写消息的日期。
我希望使用 AJAX 不断更新看板,并在编写新消息时动态添加新消息。
我有一个文件 getlatest.php?date=...
,它检索从 $_GET
中的日期到 NOW()
的所有消息。
它将数据作为对象数组返回。最后,我对数据进行 JSON 编码。
我从一些 AJAX 代码中调用这个函数,如下所示:
setInterval("update()", 5000);
function update(){
$.get("getlatest.php", {
date: "2009-06-23_16:22:12" //this is just a date I
//entered for testing
}, function(forumdata){
//do something with forumdata here?
}, "json");
}
现在我在 forumdata
中拥有数据,如 forumdata[0].first_name
等。
我现在想使用 PHP 来显示评论,如下所示:
$forumdata = json_decode(forumdata);
foreach ($forumdata as $value)
{
$newpost = new Post($value); // Post being some class that gets the data from
// $value and converts it to HTML + CSS
$newpost->displayPost(); // some function that echo's the HTML
}
我意识到我在这里想要完成的事情有点不可行,因为 PHP 是一种服务器端语言,并且此时计算是在客户端进行的,但是有什么方法(也许通过 AJAX?)我一旦我通过 JavaScript 检索数据,可以使用 PHP 来管理数据吗?
我想要这样做的主要原因是我完全缺乏 JavaScript 知识,因此任何将 forumdata
变量转换为 HTML 和 CSS block 的替代方法对我来说也很好。
最佳答案
避免服务器和客户端之间日期/时间不匹配的方法是让每个条目都有一个唯一的 ID。这样,您就可以为偏移量提供特定记录而不是相对时间。 MySQL 中的主键就是一个例子。
关于php - 从 js 调用 php (w/ajax),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1063710/