Php为什么不't向Jquery ajax发送响应

Php why doesn't send response to Jquery ajax?

本文关键字:ajax Jquery 响应 为什么不 Php      更新时间:2023-09-26

我想在不刷新页面的情况下从mysql数据库中获取数据。我在客户端使用jquery ajax,在服务器端使用php。请求成功了,但响应为空(如果我在Firefox中转到xhr,那么请求是好的,没问题,但当我单击answer/response时,它是空的,请求的大小也是0)。没有任何错误,但什么都没有发生。这是我的script.js javascript文件:

 $(document).ready(function(){
    $.post("ajax.php",
    {
        task: "get_iron"
    },
    function(data)
    {
        $("#iron").html(data);
    }
    );
    console.log("js doesn't have any problem");//it works fine
});

这是我的ajax.php文件:

<?php
$method = $_SERVER['REQUEST_METHOD'];
if(strtolower($method)=='post')
{
    if(isset($_POST['task']) && $_POST['task'] == "get_iron")
    {
        $con = mysql_connect('myhost','myusername','mypassword');
        if (!$con) {
          die('Could not connect: ' . mysql_error($con));
        }
        $sql="SELECT iron FROM minerals WHERE username = 'martintamiya'";
        $result = mysql_query($sql,$con);
        $row = mysql_fetch_object($result);
        echo json_encode($row);
    }
}

?>

我应该使用$.ajax而不是$.post吗?请帮帮我,注意我是个初学者。感谢您的回复。

if(isset($_POST['task']) && $_POST['task' == "get_iron"])

这总是会返回false,因为您没有一个名为'task' == "get_iron"的post字段,并且由于没有else语句,所以它什么都不做。

if(isset($_POST['task']) && $_POST['task'] == "get_iron")

这就是你想要的。