从js调用php函数-两者都在单独的文件中


Call a php function from js - both are in separate files

文件结构为

functions/functions.php
function name($name){
   return $name;
}
HTML file
<?php include("./functions/functions.php") ?>
<script src="./js/custom.js"></script>
<button id="btn">click me</button>

JS/custom.js
$("#btn").click(function(){
    var name = <?php echo name("Alex");?>
    alert(name);
});

这不起作用,有人能告诉我我做错了什么吗?我得到:'未捕获的语法错误:意外的标记<'在控制台中。

--

Edit : Error disappears after I made the change 
var name = '<?php echo name("Alex");?>';
However, I'm still not gettion the alert.

应该是:var name="<?php echo name("Alex");?>";

您使用JQuery选择器,但不将JQuery lib导入到您的代码中,并且在java/script代码中使用ready函数,您的代码应该是这样的:

<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<script type="text/javascript">
$().ready(function(e) {
    $("#btn").click(function(){
        var name = <?php echo name("Alex");?>;
        alert(name);
    });
})
</script>