[英]jQuery $.getJSON not returning data
我正在通過$ .getJSON對我的PHP腳本進行AJAX調用。 問題是,PHP返回的是json編碼的數據,但是我的腳本根本沒有console.loging任何東西。
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;
}
}
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();
剛剛嘗試過,它可以按預期工作:
您需要在$.getJSON()
調用中使用this.URL
而不是Club.URL
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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.