草庐IT

PHP 包含函数和 AJAX div 加载

coder 2024-05-03 原文

我有一个 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/

有关PHP 包含函数和 AJAX div 加载的更多相关文章

  1. ruby - 检查 "command"的输出应该包含 NilClass 的意外崩溃 - 2

    为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar

  2. ruby - 如何在续集中重新加载表模式? - 2

    鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende

  3. ruby - 在没有 sass 引擎的情况下使用 sass 颜色函数 - 2

    我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re

  4. ruby - RuntimeError(自动加载常量 Apps 多线程时检测到循环依赖 - 2

    我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("

  5. ruby-on-rails - 在 ruby​​ 中使用 gsub 函数替换单词 - 2

    我正在尝试用ruby​​中的gsub函数替换字符串中的某些单词,但有时效果很好,在某些情况下会出现此错误?这种格式有什么问题吗NoMethodError(undefinedmethod`gsub!'fornil:NilClass):模型.rbclassTest"replacethisID1",WAY=>"replacethisID2andID3",DELTA=>"replacethisID4"}end另一个模型.rbclassCheck 最佳答案 啊,我找到了!gsub!是一个非常奇怪的方法。首先,它替换了字符串,所以它实际上修改了

  6. ruby - 检查字符串是否包含散列中的任何键并返回它包含的键的值 - 2

    我有一个包含多个键的散列和一个字符串,该字符串不包含散列中的任何键或包含一个键。h={"k1"=>"v1","k2"=>"v2","k3"=>"v3"}s="thisisanexamplestringthatmightoccurwithakeysomewhereinthestringk1(withspecialcharacterslike(^&*$#@!^&&*))"检查s是否包含h中的任何键的最佳方法是什么,如果包含,则返回它包含的键的值?例如,对于上面的h和s的例子,输出应该是v1。编辑:只有字符串是用户定义的。哈希将始终相同。 最佳答案

  7. ruby - 在 Ruby 中有条件地定义函数 - 2

    我有一些代码在几个不同的位置之一运行:作为具有调试输出的命令行工具,作为不接受任何输出的更大程序的一部分,以及在Rails环境中。有时我需要根据代码的位置对代码进行细微的更改,我意识到以下样式似乎可行:print"Testingnestedfunctionsdefined\n"CLI=trueifCLIdeftest_printprint"CommandLineVersion\n"endelsedeftest_printprint"ReleaseVersion\n"endendtest_print()这导致:TestingnestedfunctionsdefinedCommandLin

  8. ruby-on-rails - 使用 config.threadsafe 时从 lib/加载模块/类的正确方法是什么!选项? - 2

    我一直致力于让我们的Rails2.3.8应用程序在JRuby下正确运行。一切正常,直到我启用config.threadsafe!以实现JRuby提供的并发性。这导致lib/中的模块和类不再自动加载。使用config.threadsafe!启用:$rubyscript/runner-eproduction'pSim::Sim200Provisioner'/Users/amchale/.rvm/gems/jruby-1.5.1@web-services/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:105:in`co

  9. ruby - 在 Ruby 中按名称传递函数 - 2

    如何在Ruby中按名称传递函数?(我使用Ruby才几个小时,所以我还在想办法。)nums=[1,2,3,4]#Thisworks,butismoreverbosethanI'dlikenums.eachdo|i|putsiend#InJS,Icouldjustdosomethinglike:#nums.forEach(console.log)#InF#,itwouldbesomethinglike:#List.iternums(printf"%A")#InRuby,IwishIcoulddosomethinglike:nums.eachputs在Ruby中能不能做到类似的简洁?我可以只

  10. ruby-on-rails - 从应用程序中自定义文件夹内的命名空间自动加载 - 2

    我们目前正在为ROR3.2开发自定义cms引擎。在这个过程中,我们希望成为我们的rails应用程序中的一等公民的几个类类型起源,这意味着它们应该驻留在应用程序的app文件夹下,它是插件。目前我们有以下类型:数据源数据类型查看我在app文件夹下创建了多个目录来保存这些:应用/数据源应用/数据类型应用/View更多类型将随之而来,我有点担心应用程序文件夹被这么多目录污染。因此,我想将它们移动到一个子目录/模块中,该子目录/模块包含cms定义的所有类型。所有类都应位于MyCms命名空间内,目录布局应如下所示:应用程序/my_cms/data_source应用程序/my_cms/data_ty

随机推荐