2013-05-20 141 views
0

我有一個表通過dataTables填充來自MySQL表的信息。這些信息是通過PHP以數據表所期望的方式準備好的JSON準備的。jQuery dataTables無法加載AJAX JSON數據

我遇到的問題是表不再加載信息。即使還原我的更改,以使JSON數據不包含指向服務器描述的鏈接(通過view.php)不會改變任何內容。

該網站可以在這裏找到:checkersthecat.com/status輸出JSON的信息可以在這裏找到的PHP:checkersthecat.com/status/inc/json-servers.php

這裏是JSON-servers.php代碼

<?php 

$db = new PDO("mysql:host=localhost;dbname=mcstatus;charset=UTF8", "user", "pass"); 

$stmt = $db->prepare("SELECT ip, port, category, players, tries, description FROM clients"); 
$stmt->execute(); 
$servers = $stmt->fetchAll(PDO::FETCH_ASSOC); 
$count = $stmt->rowCount(); 

$data = array(
    "aaData" => array() 
); 

foreach ($servers as $item) { 
    $arr = array(); 

    // Address 
    if (strlen($item['description']) == 0) { 
     if ($item['port'] != 25565) { 
      array_push($arr, $item['ip'] . ":" . $item['port']); 
     } else { 
      array_push($arr, $item['ip']); 
     } 
    } else { 
     if ($item['port'] != 25565) { 
      array_push($arr, "<a href='inc/view.php?ip=" . $item['ip'] . "'>" . $item['ip'] . ":" . $item['port'] . "</a>"); 
     } else { 
      array_push($arr, "<a href='inc/view.php?ip=" . $item['ip'] . "'>" . $item['ip'] . "</a>"); 
     } 
    } 

    // Category 
    array_push($arr, $item['category']); 

    // Status 
    if ($item['tries'] == 0) { 
     array_push($arr, "Up"); 
    } else { 
     array_push($arr, "Down (" . $item['tries'] . ")"); 
    } 

    // Players 
    if ($item['players'] == -1) { 
     array_push($arr, "?"); 
    } else { 
     array_push($arr, $item['players']); 
    } 

    array_push($data['aaData'], $arr); 
} 

header("Content-type: application/json"); 
echo json_encode($data); 

?> 

JavaScript片段,實際上初始化並設置數據表是在這裏:

// init load of table 
serverTable = $("#servers").dataTable({ 
    "bProcessing": true, 
    "bStateSave": true, 
    "sPaginationType": "two_button", 
    "sAjaxSource": "http://checkersthecat.com/status/inc/json-servers.php" 
}); 

它的字面的工作,我換一個在JavaScript中涉及到一個jQuery模式對話框的描述長度的小項目,我刷新頁面,突然dataTables不再加載我的JSON信息。

我完全喪失了爲什麼它不起作用。即使恢復到我以前的代碼中沒有JSON數據和先前描述限制中的超鏈接也沒有什麼區別。它仍然給我一個無盡的「處理」和「加載」。當我嘗試搜索時,它只是說「沒有可用的數據」,這是可笑的,因爲JSON信息就在URL上並且是有效的。

我試過調試JavaScript和PHP與螢火蟲和分別打開錯誤報告,但顯然沒有任何錯誤,據我所知。

任何幫助非常感謝,因爲這讓我把我的頭髮撕掉。如果您還有其他需要的細節,請告訴我。

+0

然後去圖(暫定)工作後我發佈這個。世界上有什麼? – Battleroid

+0

發佈解決方案/回答你自己的問題! –

+0

我不知道是什麼讓它工作。我剛剛發佈了這個消息,回去刷新頁面,桌子被填充。我會盡可能回答我的問題,但我不知道問題是什麼。因爲它不能在一個堅實的小時內工作。 – Battleroid

回答

0

它的工作原理,但我不確定究竟是什麼問題。