【发布时间】:2025-12-22 19:05:12
【问题描述】:
我正在为自己创建一个小项目。我不是一个很有经验的程序员,所以我开始用 PHP 创建项目。很快就发现,通过 HTML 按钮单击运行 PHP 函数和类方法并不是最简单的任务。
我设置了一些测试代码。首先,我创建了一个 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 文件中的类方法之一。为此,我搜索了一下,最终得到了以下 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 文件是如何形成的?我想这几乎是我问题的核心:)
-
SetTitle.php,GetTitle.php,SetDescription.php... 你懂的:) -
哈哈,是的 :) 但是内容是什么,如何让他们退回东西? :)
-
通过 URL 查询字符串参数或发布的数据发送内容,并处理返回的数据(本例中最简单的字符串)...如果你要去,你需要知道如何从 PHP 返回数据使用 PHP :)
标签: javascript php jquery html ajax