AX0101_4413 2021-07-09 23:10 采纳率: 95.7%
浏览 53
已采纳

html无法调用php文件的js函数

这是我的html文件,整个文件就一句话:调用函数。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="01.php"></script>
</head>
<body>

<script>
    f();
</script>

</body>
</html>

下面是我名为“01.php”的文件,我定义了一个函数,这个函数先打开数据库、获取一个数据,然后把这个数据输出。

<script>
    function f(){
        <?php
        $A=mysqli_connect("127.0.0.1", "root", "root");//连接mysql服务器
        mysqli_select_db($A, "ax");//连接数据库
        mysqli_query($A, "set name utf8");//执行语句:设置中文编码
        $X=mysqli_query($A, "select * from ax01;");//执行语句:查询数据
        $Y=mysqli_fetch_array($X);//数据表的第一行
        $B=$Y[1];//第一行的第二个元素
        ?>
        a=<?php echo $B;?>;
        alert(a);
    }
</script>

但是运行html文件后,整个页面是空白的,并没有弹出来alert。
我检查了数据库与数据表的名字与内容,没有问题。
检查了src的路径,没有问题。
检查了整个代码的逻辑,也没有问题。
我尝试调用.js文件的函数,没有问题。
我把01.php文件的名字改为01.js,发现php代码无法正常显示。只好改回01.php。
我尝试运行如下代码:

<?php
$A="ABC";
echo $A;

这能够正常运行。
我尝试创建03.php文件,书写如下代码:

<script>
    function f2(){
        a="ABC";
        alert(a);
    }
</script>

然后在html文件中调用这个文件、调用这个函数,发现依然不能运行。
但是,把03.php改为03.js,然后删掉

  • 写回答

2条回答 默认 最新

  • 关注

    php是服务器端后台的代码。
    你要分清后台代码与前台代码的关系。
    后台代码会先在服务器端执行。到前台代码执行时已经没有后台代码的事了。
    后台代码中的输出只是在书写前台的源代码。
    所以不可能在js的函数中调用php后台的代码。

    真要调用需要用ajax的方式重新请求php

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 7月9日
  • 创建了问题 7月9日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵