我正在爲自己創建一個小項目。我不是一個非常有經驗的程序員,所以我開始用PHP創建項目。很快,很明顯,通過HTML按鈕點擊運行PHP函數和類方法並不是最直接的任務。調用PHP類方法並使用jQuery和AJAX獲取返回值
我有一些測試代碼設置。首先,我創建了一個HTML表單,從中我想讀取用戶輸入值:
<form name="form" action="" method="POST">
Title: <br> <input type="text" id="title"> <br>
Description: <br> <input type="text" id="description"> <br>
Priority: <br> <input type="number" id="priority"> <br> <br>
<input type="button" id="ajaxTest" value="Send>
</form>
現在,被點擊id爲#ajaxTest按鈕時,我想調用的類方法在PHP-我創建的文件。爲此,我用Google搜索周圍,並結束了與下面的jQuery:
<script type="text/javascript">
$("#ajaxTest").click(function() {
$t = $("#title").val();
$.ajax({
type: "POST",
url: "http://www.example.com/task.php",
data: "t="+t
}).done(function(results) {
$("#results").html(results).hide().fadeIn();
})
});
</script>
還擁有在HTML ID #results一個div元素,以顯示結果數據。現在
,該task.php被稱爲貌似如下(簡化了可讀性):
<?php
class Task {
private $title;
private $description;
function SetTitle($t) {
$this->title = $t;
}
function GetTitle() {
return $this->title;
}
function SetDescription($d) {
$this->description = $d;
}
function GetDescription() {
return $this->description;
}
}
我怎麼會去通過jQuery/AJAX調用這個類的不同成員函數和得到他們的回報輸入到DOM的值?我認爲我必須創建一個像TaskHandler這樣的中間類來啓動對象等,但是我完全失敗了。幾乎整整一天,但我沒有找到一個能讓我找到工作解決方案的答案。非常感謝您的幫助!
編輯:我現在已經編輯了jQuery和它看起來如下:
<script type="text/javascript">
$("#ajaxTest").click(function() {
var t = $("#title").val();
$.ajax({
type: "POST",
url: "http://www.example.com/taskHandler.php",
data: {"t": t},
success: function(response) {
$("#results").html(response);
}
});
});
</script>
和taskHandler.php低於
<?php
require_once("task.php");
$t = new Task();
$t->SetTitle($_POST['t']);
$output = $t->GetTitle();
echo $output;
還沒有得到任何東西展現出來,雖然。我在這裏做錯了什麼?
正常情況下,每個「操作」都會有一個PHP文件,因爲每個請求地址應該只執行一個操作*。然後,您只需根據您希望調用的功能更改請求URL。 –
這些PHP文件將如何形成?我想這幾乎是我的問題的核心:) – JKase
'SetTitle.php','GetTitle.php','SetDescription.php' ...你的想法:) –