我需要在从javascript调用它之后声明一个PHP函数

时间:2013-07-29 13:43:18

标签: php javascript html

我使用混合的javascript和php语言来处理函数声明时遇到了问题。

<script>
  //some JS code
  <?php getVideos() ?>
  //some JS code
</script>

<?php function getVideos()
      {
       //some code
      }
?>

问题是该函数是在html代码的另一部分中声明的,并且在我不在JS代码之前移动它之前页面将无法工作。 有一个解决方案,无需移动PHP代码?

编辑:我想要确切的是我的html文件是带有php扩展名(index.php),我可以正常访问整个文档中的php变量

3 个答案:

答案 0 :(得分:2)

你必须使用ajax调用来调用函数。使用jQuery.post发布到您的php文件,并在服务器中使用die来返回数据。 PHP在服务器端运行

实施例: 在javascript中:

<script>
    $(document).ready(function()
        {
            $.post(this.uri,{},function(){});
        });
</script>

在php中:

<?php 
if (isset($_POST))
{
    getVideos();
    die("1");

}
function getVideos()
{
    //some code
}

&GT;

答案 1 :(得分:1)

我认为你不能从javascript调用php函数。 Javascript无法运行php代码,因为PHP代码将在网页加载之前运行,并且javascript在网页加载后运行。

无论如何,你仍然可以使用ajax来运行这样的外部PHP文件:

$.ajax({
    url:'php/ajax_post.
    type: 'post',
    data: {function: "any_function"}
    success: function(data)
    {
        window.alert(data);
    }
});

在PHP文件中,添加if语句,如下所示:

if(isset($_POST['function']) && $_POST['function']=="any_function")
{
    //Run your function
}

这将运行您请求的功能,并提醒结果。

答案 2 :(得分:0)

您可以使用PHP的include()函数从其他PHP文件中“导入”函数。