jQuery $ .getJSON不返回数据

时间:2014-04-25 09:44:21

标签: javascript php jquery ajax

我正在通过$ .getJSON对我的PHP脚本进行AJAX调用。问题是,PHP正在返回json编码的数据,但我的脚本不是console.logging任何内容。

function Club(){
    this.URL = "http://localhost/imp03/includes/ajaxCall.php";
}
Club.prototype.loadData = function(){
    $.getJSON(Club.URL, function(data){
        console.log(data);
    });
}

控制台中没有错误,这是我的PHP脚本。

$db = new Database(HOST, USER, PASS, DB);
$array = $db->getData();
header('Content-Type: application/json');
echo json_encode($array);
exit;

这是我的数据库类中负责获取数据的方法

public function getData(){
    try{
        $sql = $this->db->prepare("SELECT * FROM inlever3");
        $sql->execute();
        $result = $sql->fetchAll();
        return $result;
    } catch(PDOException $e){
        echo $e;
        return false;
    }
}

2 个答案:

答案 0 :(得分:3)

Club是函数,它没有URL属性。

Club.prototype.loadData = function(){
    $.getJSON(Club.URL, function(data){
        console.log(data);
    });
}

应该是

Club.prototype.loadData = function(){
    // here change Club.URL to this.URL
    $.getJSON(this.URL, function(data){
        console.log(data);
    });
}

并使用它:

var club = new Club();
club.loadData();

答案 1 :(得分:2)

试过它,它按预期工作:

您需要在this.URL电话上使用Club.URL而不是$.getJSON()

<强> test.php的

<?php

if (isset($_GET['loadData']))
{
    // dummy data
    exit(json_encode(
        array('hello' => 'world')
    ));
}

?>

<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">

function Club(){
    this.URL = "test.php?loadData";
}
Club.prototype.loadData = function(){
    $.getJSON(this.URL, function(data){
        console.log(data);
    });
}

var c = new Club();
c.loadData();

</script>