如何使用 Ajax 在 javascript 中调用 php 函数?

我是 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 作为回复,但总是空的,我错过了什么吗?任何建议都可以帮助,谢谢。


慕神8447489
浏览 60回答 2
2回答

慕田峪9158850

你无法用JavaScript获取php的功能,你只能读回服务器给你的返回值在服务器端需要监听get请求,如果包含“functionname”则调用该函数并将返回值发送到页面所以在PHP文件中var isFunc = $_GET["functionname"]var args = $_GET["arguments"]if(isFunc== "getPatientbyId") echo getPatientbyId(args)

jeck猫

对 Web 服务器的 AJAX 请求执行 PHP 文件,而不是 PHP 函数。您的 PHP 文件定义了该函数getPatientbyId,但并不执行它。您的 PHP 代码还需要调用该函数,输出一个Content-Type表明响应中有 JSON 的标头,将函数结果格式化为 JSON,然后打印它。
打开App,查看更多内容
随时随地看视频慕课网APP