在js函数中使用$.ajax与php时,php没收到数据

下面是01.html文档的内容:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="02.php"></script>
    <SCRIPT src="../02无限折叠之前/jquery.js"></SCRIPT>
</head>
<body>

<script>
    f();
</script>


</body>
</html>

下面是02.php文档的内容:

    function f(){
        $.ajax({
            type: "POST",
            data: {a:"ABC"}
        })
        <?php
        if(isset($_POST["a"])){
            $A=$_POST["a"];
            $A=json_encode($A);
        }
        else{
            $A="AX";
            $A=json_encode($A);
        }
        ?>
        let x=<?php echo $A ?>;
        alert(x);
    }

运行01.html,弹出来了AX。但我希望它弹出来ABC。
问题出在了哪里?

ajax不是这样用的。
你要把js与php写成两个文件。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="02.js"></script>
    <SCRIPT src="../02无限折叠之前/jquery.js"></SCRIPT>
</head>
<body>
<script>
    f();
</script>
 
</body>
</html>


02.js

    function f(){
        $.ajax({
            url: "02.php",
            type: "POST",
            data: {a:"ABC"},
            dataType: "text",
            success: function (data) {
                let x=data;
                alert(x);
            }
        });
    }

02.php

        <?php
        if(isset($_POST["a"])){
            $A=$_POST["a"];
            $A=json_encode($A);
        }
        else{
            $A="AX";
            $A=json_encode($A);
        }
        echo $A;
        ?>;

$A=$_POST["a"];
在这块输出一下,看是否接收到了请求中的值。

在执行这一句的时候,02.php的内容已经定下来了,所以你用ajax其实是没有a的