我是 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 關注
- 124 瀏覽
添加回答
舉報
0/150
提交
取消