2013-04-10 65 views
0

這使我瘋狂。 Iv接受了教程,我不能讓這件事做最簡單的動作。不能獲得D3甚至打印文本

我只是想開始。我得到了一個骨架頁面,一個裸骨頭的JSON文件和D3 V3庫加載。

我可以從檢查員看到,一切正常加載。 JSON加載正常,但沒有任何事情發生。我只是想把幾個單詞打印成幾個元素,但我什麼也沒得到。我可以看到ul被追加到頁面,但沒有其他。

沒有JS錯誤,或任何指導我。只是一個空白頁面。

我在這裏做錯了什麼?

我的標記:

<!DOCTYPE html> 
    <html>  
     <head> 
     <meta charset="utf-8"> 
     <title>D3</title> 
     <link rel="stylesheet" href="css/normalize.css"> 
     <link rel="stylesheet" href="css/main.css"> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
     <script src="js/plugins.js"></script> 
     <script src="js/main.js"></script> 
     <script src="js/vendor/d3.v3.min.js"></script> 
     <style> 

     path { 
      stroke: #fff; 
      fill-rule: evenodd; 
     } 

     </style> 
     <script> 
     function draw(data){ 
      "use strict"; 
      d3.select("body") 
      .append("ul") 
      .selectAll("li") 
      .data(data) 
      .enter() 
      .append("li") 
      .text(function(d) { 
      return 'Cant even see this message'; 
      }); 
     } 
     </script> 
     <script>d3.json("json/status.json", draw);</script> 
     </head> 
     <body> 
     </body> 
    </html> 

和我的JSON文件

{ 
    "status": "OK", 
    "name": "TEST A" 
} 

回答

2

var data的格式不正確。 D3.js假設你將通過列表,但你提供了一個對象。一個簡單的修復讓你開始是改變status.json到:

[{ 
    "status": "OK", 
    "name": "TEST A" 
}] 

從API文檔:https://github.com/mbostock/d3/wiki/Selections#wiki-data

selection.data([值[,鍵])

將當前選定的數據連接到指定數組。指定值是一組數據值,例如數字或對象的數組,或者返回值數組的函數。

+0

男人,這麼簡單。我無法找到任何地方提到..是的,這讓我現在開始運行..感謝您的幫助 – Cheyne 2013-04-10 23:53:53