2017-01-11 119 views
0

我試圖將我自己的數據加載到此d3.js可視化中,但我不斷收到錯誤Undefined is not a function。唯一的區別是,而不是定義freqData像他們那樣,我定義我的從數據文件未定義不是函數錯誤d3js

var freqData = d3.json("//sjs72/Users/ksdf/file.json", function(fdata) { 
    console.log(fdata[0]); 
}); 

它發生在該行加載

fData.forEach(function(d){d.total=d.freq.low+d.freq.mid+d.freq.high;}); 

誰能幫我明白的地方我錯了嗎?

編輯:我做的電話是儀表板('#儀表板',freqData);該功能儀表盤採用的參數FDATA,在這種情況下我加載freqData到

更新:

我改變了我的變量定義和生成的代碼看起來像

var freqData; 
    function doSomethingWithData() { 
    console.log(freqData); 
} 

d3.json("//sjs72/Users/ksdf/file.json", function(dataFromServer) { 
    freqData = dataFromServer; 
    doSomethingWithData(); 
} 

dashboard('#dashboard',freqData); 

但現在我米剛開錯誤

Uncaught SyntaxError: Unexpected identifier 

在我的腳本的最後一行

+0

是你說的那一行錯誤發生在'freqData'函數內部?根據錯誤,'fData'是未定義的。設置一個斷點,看看發生了什麼。 – krillgar

+0

是因爲你將數據分配給'freqData'然後嘗試引用'fData'? – nvioli

+2

你的假設是錯誤的:''d3.json()'是一個異步函數,它不返回一個值。請參閱[*「從d3.json()」*](/ q/12656580)返回數組。 – altocumulus

回答

1

您錯過了d3.json()呼叫的右括號。這很可能會給你帶來問題。更正後的代碼:

var freqData; 
    function doSomethingWithData() { 
    console.log(freqData); 
} 

d3.json("//sjs72/Users/ksdf/file.json", function(dataFromServer) { 
    freqData = dataFromServer; 
    doSomethingWithData(); 
    } 
); // Added this here 
dashboard('#dashboard',freqData); 
相關問題