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

时间:2014-10-31 18:16:36

标签: javascript php jquery mysql ajax

我想从没有页面刷新的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);
    }
}

&GT;

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

1 个答案:

答案 0 :(得分:1)

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

这总是会返回false,因为你没有名为'task' == "get_iron"的帖子字段,并且因为没有其他状态,所以它没有做任何事情。

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

这就是你想要的。