我正在为自己创建一个小项目。我不是一个非常有经验的程序员,所以我开始用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' ...你的想法:) –