我使用混合的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变量答案 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文件中“导入”函数。