gpt4 book ai didi

PHP 包含函数和 AJAX div 加载

转载 作者:可可西里 更新时间:2023-11-01 01:03:13 25 4
gpt4 key购买 nike

我有一个 php 生成的网页,它有几个最初使用 php include 创建的 div。

<div id ="siteLeft" class ="site">
<div id="divGauges"><?php include('gauges.php');?></div>
<div id="divHistory"><?php include('history.php');?></div>
</div>
<div id="siteRight" class ="site">
<div id="divLymGauges"><?php include('gaugesLym.php');?></div>
<div id="divLymHistory"><?php include('historyLym.php');?></div>
</div>

这些 div 然后每 10 秒重新加载一次,使用 AJAX 调用,它位于单独的 scripts.js 文件中:

function updateHistory(){
$('#divHistory').load('history.php'+"?ms=" + new Date().getTime());
$('#divLymHistory').load('historyLym.php'+"?ms=" + new Date().getTime());
}
setInterval( "updateHistory()", 10000 );

在 history.php 和 historyLym.php 中,我有一个函数调用,该函数位于另一个名为 functions.php 的文件中。

如果我这样做:

include ('functions/functions.php');

在 index.php 页面中,div 在初始加载时显示得很好,但我得到了

Fatal error: Call to undefined function 

在 AJAX 调用刷新带有 history.php 和 historyLym.php 的 div 后显示在网页上(显然,因为函数文件的包含不在 div 中,这是唯一被调用的位)。

所以我尝试将 functions.php 包含到加载的 div 中。如果我这样做,那么在初始页面加载时我会得到:

Fatal error: Cannot redeclare getForce()

这也是有道理的,因为在初始加载时,两个 div 都包含 functions.php 的 include。

仅将 include 放入其中一个 div 中会导致页面加载正常(它应该这样做),但是在 div 的 AJAX 刷新中,我收到此错误:

Fatal error: Call to undefined function getForce()

这也是有意义的,因为两个 div 由 AJAX 独立刷新,因此只有包含 functions.php 的 div 才能使用该函数。

所以我的问题是:

到底在哪里可以放置 functions.php 的包含,以便 div 可以在初始页面加载和单独的单独 AJAX 刷新时使用 functions.php 函数?

最佳答案

首先在你的index.php中包含函数文件,
然后将其添加到包含文件的顶部(即:gauges.php、history.php 等。)

<?php
if ( !function_exists( "getForce" ) ) {
// include the function file
}
?>

您可以将 getForce 替换为您的 function 文件中定义的任何其他函数名称

关于PHP 包含函数和 AJAX div 加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17745695/

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