gpt4 book ai didi

来自另一个文件的 PHP 调用函数不起作用

转载 作者:行者123 更新时间:2023-12-04 18:03:46 24 4
gpt4 key购买 nike

基本上,我试图根据另一个文件中函数的返回值来设置一个文件中变量的值。然后通过 AJAX 返回,但是,AJAX 似乎总是指示错误。代码如下:

updateTurn.php

<?php
//This is called by AJAX
require_once('functions.php'); //include necessary file
$player = getCurrentTurn(); //call function
echo $player;
?>

函数.php

...
function getCurrentTurn()
{
//the query and connection function appropriately
include_once("getConn.php");
$query = $GLOBALS['conn']->prepare("SELECT turn FROM Game");
$query->execute();
$result=$query->fetch(PDO::FETCH_ASSOC);
return $result['turn']; //return the result of the query
}
...

Ajax

function checkForTurnChange(){
$.ajax({
type:"GET",
url:"updateTurn.php",
async:true,
cache:false,
timeout:10000,
success:function(data){
alert(data);
},
//this is where AJAX is returning
error: function(XMLHttpRequest, textStatus, errorThrown){
alert(textStatus +": "+ errorThrown);
}
});//end AJAX
};//end function

错误是由 $player = getCurrentTurn(); 行引起的。如果我删除它并 echo 任何字符串值,那么它就可以正常工作。这是非常基本的,但我似乎看不到我的错误。感谢所有帮助。

编辑:AJAX 调用 error: 导致此 alert :

AJAX error message

最佳答案

已解决:

functions.php 中的 getCurrentTurn() 中删除了 include("getConn.php"); 并将其重新定位以供整个文件,而不仅仅是该功能在本地可用。因此,functions.php 应该是:

include("getConn.php");
...
function getCurrentTurn()
{
$query = $GLOBALS['conn']->prepare("SELECT turn FROM Game");
$query->execute();
$result=$query->fetch(PDO::FETCH_ASSOC);
return $result['turn'];
}
...

关于来自另一个文件的 PHP 调用函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30663047/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com