我正在为自己创建一个小项目.我不是一个非常有经验的程序员,所以我开始用PHP创建项目.很快就发现,通过单击HTML按钮来运行PHP函数和类方法并不是最简单的任务.
我已经设置了一些测试代码.首先,我创建了一个HTML表单,我想从中读取用户输入的值:
Title:
Description:
Priority:
$("#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();
})
});
HTML中还有一个id为#results的div元素,用于显示结果数据.
现在,被调用的task.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,它看起来如下所示:
$("#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);
}
});
});
和taskHandler.php在下面
require_once("task.php");
$t = new Task();
$t->SetTitle($_POST['t']);
$output = $t->GetTitle();
echo $output;
尽管如此,仍然什么都没有出现.我在做什么错了?
解决方法:
截至此问题的一长串评论列表,只有一件事可能会弄乱AJAX调用:
Title:
Description:
Priority:
提交按钮通常提交整个表单.提供空操作参数后,后操作将转到当前页面.这将立即重新加载,并中断可能发出但未完全发送的AJAX请求.
更改:
Title:
Description:
Priority:
标签:ajax,html,javascript,php,jquery
来源: https://codeday.me/bug/20191027/1944963.html