这个问题已经在这里有一个答案:
我想打电话给Java脚本在我的PHP文件,但它不工作。我很困惑,因为当我在一个单一的PHP文件合并整个代码,它工作正常,但是当我再次在两页一样的test.php和upload.js,当我打电话的js文件以.php它不要分裂代码“T works.I做了各种搜索,但我没有得到我需要的东西。有人自己看着办吧我在哪里失踪。
这里是test.php的的示例代码
这里是js函数
我不知道我跟着正是你正在尝试做的,但PHP执行服务器端执行JavaScript客户端。
如果你有一个PHP文件如:
<script>
<?php
echo 'alert("Hi");';
?>
</script>
在此之前任何发送到浏览器中的PHP执行。浏览器获得:
<script>
alert("Hi");
</script>
所以,如果你的JavaScript试图调用PHP函数的页面已经被发送到浏览器后,它只是将无法正常工作。浏览器不能执行PHP。你可能想看看AJAX或类似发送一个请求到服务器,则可以执行PHP代码。
它可以帮助,如果你能后的代码的所有不同版本,所以我们可以看到你正在尝试什么。
单独的JS文件将无法读取任何PHP代码。你可以做的是设置你需要你的PHP代码中,这样就可以在任何单独的JS文件访问的所有值。要做到这一点的方法之一是建立一个全局命名空间/变量和钩到浏览器窗口对象。
// upload.js
function callphp() {
var result = window.MyJSValues.result;
}
// test.php
...
<?php
function php(){
return "Welcome to Javascript";
}
?>
<script>
// setup our global values into its own object
window.MyJSValues = window.MyJSValues || {}; // initialize empty object
window.MyJSValues.result = '<?php echo php() ?>';
</script>
<script src="upload.js"></script>
...
<button onclick="callphp()">Test</button>
...