首页 > 解决方案 > 无法读取 PHP 文件返回的 Ajax 响应

问题描述

我是阿贾克斯的新手。

我无法从 PHP 文件中获得正确的响应。控制台中的答案是“未定义”。当我只是简单地处理Response变量时,控制台给了我对象;似乎我无法获取 PHP 文件结果的值。

这是HTML代码:

<form id="form1" method="post" onsubmit="return send_form(this)">
        <p>Number 1= <input type="text" name="number1"></p>
        <p>Number 2= <input type="text" name="number2"></p>
        <input type="submit" value="calculate">

    </form>
        <script>
           function send_form(form1){
                    let response=$.ajax("1_1.php",{
                    dataType:'json',
                    data:{n1:form1.number1.value, n2:form1.number2.value},
                    }
                    );
                console.log(response.c);

                return false;
            }

        </script>

这是我的 PHP 文件

<?php

$a=$_GET['n1'];
$b=$_GET['n2'];
$c=$a+$b;

echo json_encode(['c'=>$c]);

?>

标签: javascriptjsonajaxajaxform

解决方案


似乎我不应该将ajax分配给变量。我试过这种方式,它奏效了:

function send_form(form1){
                    $.ajax("1_1.php",{
                    dataType:'json',
                    data:{n1:form1.number1.value, n2:form1.number2.value},
                    }
                    ).then(process);

                return false;
            }
            function process(result){
                console.log(result.c);
                return false;
            }

推荐阅读