2017-01-11 1 views
0

이 d3.js 시각화에 내 데이터를로드하려고하지만 계속 오류가 발생합니다. Undefined is not a function. 유일한 차이점은정의되지 않음이 함수 오류가 아닙니다. d3js

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

사람이 제가 '위치를 이해하는 데 도움이 수 대신에 그들이했던 것처럼 freqData을 정의하는, 내가 데이터 파일이이 줄에서 발생

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

에서로드 내 정의이다 내가 잘못 가고있어?

EDIT : 내가 만드는 호출은 대시 보드 ('# dashboard', freqData)입니다. 함수 대시 보드는이 경우에 나는에 freqData을로드하고있어 인수 fData를 취

업데이트 : 내 변수 정의를 변경

및 결과 코드 보인다 지금은 '

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

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

dashboard('#dashboard',freqData); 

그러나 같은 m 그냥 내 스크립트의 마지막 줄에 오류

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); 
관련 문제