我在PHP中創建了一個RESTful API。很快,我可以通過調用類似http://api.website.com/addInfosAJAX/PHP重新加載頁面的一部分
的地址來註冊一些信息。此請求是一個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
?>
我的問題是:如何刷新顯示數據後的代碼部分我的API的名爲「AddInfos」的離子被稱爲?
編輯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中獲取相關信息。但我真的不知道如何調用我的API的addInfos方法,因爲我需要在infos.php上創建一個POST請求(沒關係),但將結果數據放在index.php(不好,我不知道該怎麼做)。請,你能讓我知道如何做到這一點?
非常感謝您的幫助。
此致敬禮, 拉皮諾。
您可以閱讀如何使用帶HTML的HTML DOM,如何訪問命名div等。 – developerwjk
好的。但是,即使這是兩個不同的頁面,是否可以做到這一點?因爲我知道如何在AJAX/JQuery的另一個頁面上執行POST請求,然後獲取響應數據並將其顯示在特定的應答器中
。但在這裏,我真的不知道如何從我的API方法訪問並刷新頁面infos.php。 – Lapinou哇!我想我在寫我以前的答案時找到了解決方案!如果有效,我會更新我的帖子! – Lapinou