2017-12-04 9 views
0

私は基本的な単一ページアプリケーション(フレームワークなし)を作成しようとしています。これはユーザーに特定の科目のチュートリアルを提供します。次のように私は、ページのJavaScriptでエラーを取得していますnullのaddEvenListenerプロパティを読み取ることができません

:ここ

Uncaught TypeError: Cannot read property 'addEventListener' of null

は、私はJSONデータをロードするために使用するJavaScriptです:

var btn = document.getElementById("btn"); 

btn.addEventListener("click", function(){ 
    var TutRequest = new XMLHttpRequest(); 
    TutRequest.open('GET', 'https://api.myjson.com/bins/iyvun'); 
    TutRequest.onLoad = function(){ 
    var TutData = JSON.parse(TutRequest.responseText); 
    console.log(TutData[2]); 
    }; 
TutRequest.send(); 
}) 

これが私のHTMLですコード:

<html> 
<head> 
    <meta name="viewport" content="width=devide-width, initial-scale=1"/> 
    <title>SPA Tutorial page</title> 
    <link rel="stylesheet" href="css/styles.css"> 
    <script src="javaScript.js"></script> 
</head> 

<body> 

    <header> 
    <h1>SPA tutorials</h1> 

     <nav role="navigation"> 
      <ul> 
       <li><a href="#the-default-view"><button id="btn">the default view</button></a></li> 
       <li><a href="#some-view"><button id="btn2">some view</button></a></li> 
       <li><a href="#another-view"><button id="btn3">another view</button></a></li> 
      </ul> 


     </nav> 
    </header> 

</body> 

コードの出力は、JSコードで提供されているURLからのJSONデータである必要がありますが、私が試しているものでのみこのエラーが発生するようです。 これに関するお手伝いがあります。スクリプトの実行DOMが完全にロードされていないために起こる

+2

'document.getElementById()'が 'null'を返したため、' btn'は 'null'です。あなたの '

関連する問題