【问题标题】:Calling a php function from a DIV that was loading using jquery load()从使用 jquery load() 加载的 DIV 调用 php 函数
【发布时间】:2012-12-02 12:31:04
【问题描述】:

寻找一种方法来调用在原始文件中包含“functions.php”的 php 函数。

这是我的 index.php 文件中的内容,所以当我点击一个链接时,它会将 (new.php) 加载到 (#container) div 中。

<?php include 'functions.php' ?>

<script type="text/javascript">
$(document).ready(function() {
  $('a').click(function(e) {
    $('#container').load(new.php).hide().fadeIn(500);
    return false;
  });
});
</script>

所以在我的 new.php 中,我想调用位于 functions.php 中的函数,但显然我得到了一个未定义的错误。

<?php some_func() ?>

我知道你可以在 new.php 中添加另一个包含“functions.php”

但由于 functions.php 包含 mysql 连接/查询和其他包含等。我真的不想继续重新加载它。

那么有什么方法可以将functions.php重新加载到新加载的div中并从中调用函数吗?

【问题讨论】:

  • 将&lt;?php include 'functions.php' ?&gt; 放入new.php 文件中,然后重试。还要确保文件的路径正确。
  • 是的,我知道这样做的方法。但我一直在寻找另一种方法来避免每次都重新加载“functions.php”。无论如何,谢谢。
  • 如果您使用require_once 或include_once,functions.php 将仅包含一次(第一次需要)并且不会每次都重新加载;-)

标签: php jquery function html include


【解决方案1】:

当您在 div 中“加载”new.php 时,您只是将生成的 HTML 代码加载到 div 中。

在这种情况下,生成的 HTML 代码将是 PHP 处理 new.php 代码的结果,该代码依赖于 functions.php 中的函数。

在这种情况下,使用 javascript 访问文件的内容,除了将 include 'functions.php'; 放在 new.php 中之外,绝对没有办法做到这一点。

这两个文件将单独处理。 new.php 不会在“内部”index.php 运行,因此无法访问那里定义的任何函数。

【讨论】:

  • 嗯.. 谢谢你的信息。我得到了它为什么不起作用背后的所有逻辑和原因,我希望有某种方式,例如使用 jquery 加载它或任何想法?感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-15
  • 2018-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多