AX0101_4413
2021-07-10 18:26
采纳率: 100%
浏览 40

在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。
问题出在了哪里?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 已采纳

    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;
            ?>;
    
    1 打赏 评论
  • CSDN专家-sinjack 2021-07-10 18:33

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

    打赏 评论
  • 浪客 2021-07-10 18:41

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

    打赏 评论

相关推荐 更多相似问题