[英]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.