我是 javascript 和 ajax 的新手,我想调用 php 函数,该函数在 javascript 文件中返回患者年龄,所以我尝试探索我在这里找到的关于这个问题的答案,但我无法解决它,这里是名为 的 php 文件获取患者年龄.php:function getPatientbyId($id) { $q = DB::pdo()->prepare("SELECT p.birthday FROM patient AS p WHERE id_patient = :patient"); $q->bindValue(':patient', (int)$id , PDO::PARAM_INT); $q->execute(); return $q->fetch(2);}这是我尝试使用 ajax 调用它的方法:$.ajax({ type: "GET", url: 'get-patient-age.php', dataType: 'json', data: {functionname: 'getPatientbyId', arguments: 1}, success: function (obj, textstatus) { if( !('error' in obj) ) { ; console.log(obj.result); } else { console.log(obj.error); } }});我收到 200 ok 作为回复,但总是空的,我错过了什么吗?任何建议都可以帮助,谢谢。
2 回答
慕田峪9158850
TA贡献1794条经验 获得超7个赞
你无法用JavaScript获取php的功能,你只能读回服务器给你的返回值
在服务器端需要监听get请求,如果包含“functionname”则调用该函数并将返回值发送到页面
所以在PHP文件中
var isFunc = $_GET["functionname"]
var args = $_GET["arguments"]
if(isFunc== "getPatientbyId") echo getPatientbyId(args)
jeck猫
TA贡献1909条经验 获得超7个赞
对 Web 服务器的 AJAX 请求执行 PHP 文件,而不是 PHP 函数。您的 PHP 文件定义了该函数getPatientbyId
,但并不执行它。您的 PHP 代码还需要调用该函数,输出一个Content-Type
表明响应中有 JSON 的标头,将函数结果格式化为 JSON,然后打印它。
- 2 回答
- 0 关注
- 95 浏览
添加回答
举报
0/150
提交
取消