【问题标题】:jquery load not executing php function in another filejquery加载不在另一个文件中执行php函数
【发布时间】:2011-09-17 17:42:41
【问题描述】:
//main.php
<?php

include("functions.php");

<script type="text/javascript">
 $(function(){
  $("#Div").load("Views/phpfile.php", function(){
   alert("file loaded");
  });
 });
</script>

?>    
//End main.php    

//phpfile.php
<div>dsfg sfdgsdfgsfdgdf</div>
<div>dsfg sfdgsdfgsfdgdf</div>

<?php
 echo sum();
?>
//End phpfile.php

虽然 sum 函数在另一个名为 functions.php 的文件中实现,但请注意,如果我将 sum 函数的实现放在 phpfile.php 中,它将正常工作。

非常感谢任何帮助

【问题讨论】:

  • 您必须在phpfile.php 中包含functions.php,而不是在代码第一部分所在的任何文件中。
  • 你是对的,但我需要在主文件(父文件)中加载一次。由于 iam 使用 jquery 来加载大量依赖于 functions.php 的 php 文件,因此在这些文件中包含 functions.php 并不是一个好主意。
  • 嗯,PHP 是在服务器端执行的。当您加载主文件时,PHP 将处理它,生成一些输出(包括您的 JavaScript)并将输出发送到浏览器。之后,PHP 的工作就完成了,直到您加载另一个文件。但是这些调用之间没有保留“状态”。如果另一个文件也需要访问functions.php 中定义的函数,那么您必须在其中包含该文件。没有别的办法。
  • 感谢您的解释,只是我认为可能有黑客攻击。

标签: php jquery function load


【解决方案1】:

您的document.ready 在哪里?

$(function(){
    $("#Div").load("Views/phpfile.php", function(){
        alert("file loaded");
    });
})

【讨论】:

  • 我的代码已经像你提到的那样: $(function(){ $("#Div").load("Views/phpfile.php", function(){ alert("file加载"); }) }) 及其加载 phpfile.php 的内容,例如 php 函数:sum()
猜你喜欢
  • 1970-01-01
  • 2013-11-09
  • 2011-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-10
  • 1970-01-01
相关资源
最近更新 更多