簡體   English   中英

使用D3.json函數導入json數據返回null

[英]Importing json data using D3.json function returns null

我一直在嘗試提取json數據以使用d3構建圖形,但似乎無法正確地將json加載到var中。

代碼很簡單:

test.js

d3.json("/js/data.json", function(error, graph) {
  alert(error)
})

chrome和firefox均返回null。 data.length返回未定義。

index.html

<html>
<title>Streamgraph</title>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="/js/test.js"></script>
</style>
</html>

我在Node.com上的准系統設置中托管index.html。 根據Chrome的說法,data.json文件已被提取完成。 Chrome中的控制台不會報告任何錯誤。 data.json文件已通過jsonlint驗證。

我不知道從這里去哪里。 我已經閱讀了有關此問題的所有其他stackoverflow帖子,但它們均與CORS相關。 我認為文件正在加載,因此我認為它沒有訪問限制問題。

跟蹤d3時,我在這里看到錯誤:

function respond() {
      var status = request.status, result;
      if (!status && d3_xhrHasResponse(request) || status >= 200 && status < 300 || status === 304) {
        try {
          result = response.call(xhr, request);
        } catch (e) {
          dispatch.error.call(xhr, e);
          return;
        }
        dispatch.load.call(xhr, result);
      } else {
        dispatch.error.call(xhr, request);
      }
    }

在我的執行中,使用JSON正確填充了結果,但是一旦到達dispatch.load.call,我就會得到一個未定義的彈出窗口,使用

d3.json("/js/data.json", function(error, data) {
  alert(data.length)
})

有什么想法嗎?

基本錯誤data.length未定義。 數據定義正確。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM