2017-12-02 6 views
0

잠시 동안이 문제에 봉착했습니다. 몇 가지 시도했습니다 - d3.js와 JQuery가 html과 동일한 폴더에 있고 js 파일을위한 별도의 폴더를 만들고 로컬 http 서버 (http://0.0.0.0:8000/..)에서 실행했는지 확인하십시오. 모든 포인터가 크게 감사하겠습니다. 다음은 D3 : JSON 데이터로드 중 - Uncaught ReferenceError : d3이 정의되지 않았습니다.

d3.json('data/fifa-matches.json',function(error,data){ 

/** 
* Loads in the tree information from fifa-tree.csv and calls 
createTree(csvData) to render the tree. 
* 
*/ 
     d3.csv("data/fifa-tree.csv", function (error, csvData) { 
      //Create a unique "id" field for each game 
      csvData.forEach(function (d, i) { 
      d.id = d.Team + d.Opponent + i; 
      }); 

      //Create Tree Object 
      let tree = new Tree(); 
      tree.createTree(csvData); 
      //Create Table Object and pass in reference to tree object (for 
      hover linking) 
      let table = new Table(data,tree); 

      table.createTable(); 
      table.updateTable(); 
     }); 
}); 
는 HTML 파일

!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="UTF-8"> 
<title>Visualization/title> 
<link rel="stylesheet" href="styles.css"/> 
</head> 

<body> 
    <!--<script type="application/javascript" src="load_hacker.js"> 
    </script>--> 
    <script type="application/javascript" src="js/tree.js"></script> 
    <script type="application/javascript" src="js/table.js"></script> 
    <script type="application/javascript" src="js/script.js"></script> 
    <!-- Load D3.js --> 
    <script src="d3.v3.js.min" charset="utf-8"></script> 
    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> 
    <script src="jquery-2.2.3.min.js"></script> 
    <!-- Bootstrap - latest compiled and minified JavaScript --> 
    <script src="bootstrap.min.js"></script> 

</body> 
</html> 

어떤 도움을 이해할 수있을 것이다

Uncaught ReferenceError: d3 is not defined 

내가 콘솔 동안 브라우저 콘솔에서 얻을 오류입니다의 조각입니다 고맙습니다.

+1

d3 로딩보다 위에 스크립트 파일을로드했다고 생각합니다. 따라서 d3은 파일에 정의되어 있지 않습니다. – vibhor1997a

+1

이것을 디버깅하는 데 도움이되도록하려면 d3이 제대로로드되고 있는지 확인하려면 브라우저에서 호출하는 네트워크를 확인해야합니다. 질문에 그 결과를 제공 할 수 있습니까? –

답변

0

나는

<script src="d3.v3.js.min" charset="utf-8"></script>

이 여기에 이상한 보이는 HTML 파일에서 보았다.

변경 내역 d3.v3.min.js

+0

제안 된 모든 변경 사항을 시도했지만 여전히 문제가 발생했습니다. '파일로드 실패 : /// C : /Users/solom/Desktop/VisForDataScience/data/fifa-matches.json : 크로스 원본 요청은 프로토콜에서만 지원됩니다 scheme : http, data, chrome, chrome-extension, https.' – TechySupport

+0

@TechySupport Chrome은 단순히 로컬 파일에 아약스 호출을 허용하지 않습니다. [This] (https://bugs.chromium.org/p/chromium/issues/detail?id=40787&q=ajax%20local&colspec=ID%20Stars%20Pri%20Area%20Feature%20Type%20Status%20Summary%20Modified%20Owner를 참조하십시오. % 20Mstone % 20OS). 'cd/Desktop/VisForDataScience/data python -m SimpleHTTPServer 9999'을 시도해보십시오. 그런 다음 파일을 찾아보십시오. – Saran

+0

로컬 서버를 시작하는 것이 이상적입니다. 그러나 로컬 파일을로드하려는 경우에도이 옵션이 있습니다. https://stackoverflow.com/a/18137280/974690 –