我在PHP中创建了一个RESTful API。不久之后,我可以通过调用http://api.website.com/addInfos
这样的地址来注册一些信息此请求是POST请求。这是我的方法:
档案:api.php
<?php
/* Page api.php */
private function addInfos()
{
// Check if it's a POST request and if all fields are correct
// Insert data in my MySQL database
// TODO: make an automatic refresh for page named infos.php
}
?>
第二个文件,其中数据显示在我的数据库中:
文件:infos.php
<?php
/* Page infos.php */
// Connection to database
// Prepare the request using PDO
// Execute the request
// Display infos in a while loop
?>
我的问题是:如何在名为&#34; AddInfos&#34;的函数之后刷新数据显示的部分代码。我的API被称为?
编辑1:
这是我能做的:
文件:index.php
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<title></title>
<script src="js/jquery.js"></script>
</head>
<body>
<div id="infos"></div>
<script>
function displayInfo(r) {
$.post("infos.php",
{ refresh : r},
function(data){
//alert("Data Loaded: " + data);
$("#infos").html(data);
}
);
}
$(document).ready(function() {
displayInfo(1);
$('a.info_link_text').click(function(){
alert($(this).text());
});
});
</script>
</body>
</html>
文件:infos.php
<?php
require_once('database.php');
if(isset($_POST['refresh'])){
$selectInfos = getAllInfos();
$selectInfos->execute();
echo "<table>";
echo "<th>User</th>";
echo "<th>Email</th>";
while($row = $selectInfos->fetch(PDO::FETCH_OBJ)){
$fullname = $row->user_fullname;
$email = $row->user_email;
echo "<tr>";
echo "<td>".$fullname."</td>";
echo "<td>".$email."</td>";
echo "</tr>";
}
echo "</table>";
}
?>
当我加载index.php时,我可以从页面infos.php获取信息。但我真的不知道如何在方法&#34; addInfos&#34;我的API被调用了,因为我需要在infos.php上发出一个POST请求(它没关系)但是把结果数据放在index.php上(不行,我不知道怎么做)。拜托,你能让我知道如何实现这个目标吗?
非常感谢你的帮助。
祝你好运, Lapinou。
答案 0 :(得分:1)
我认为你需要的是一个基于WebSocket HTML5的库。服务器可以保留并同时向所有连接的客户端发送通知。然后在你的javascript处理程序中,你可以处理任何你想要的东西。
在PHP中,您可以尝试这些示例WebSocket HTML5 PHP on Google
另一种方法是定期向服务器发送多个REST查询以更新您的页面,但似乎您只想要实时更新。