title: Javascript - JSON.parse: unexpected end of data - Error when using valid JSON. What am I doing wrong?
body: <p>So, I've found similar questions about JQuery in which you do not need to parse. Since I am using the AJAX XMLHttpRequest, from what I understand, the parse is necessary. The error is given on the line:</p>
  
  <pre><code>text = JSON.parse(jsonGet.responseText);
  </code></pre>
  
  <p>Error:</p>
  
  <pre><code>JSON.parse: unexpected end of data  
  text = JSON.parse(jsonGet.responseText);
  </code></pre>
  
  <p>Relevant parts of the function:</p>
  
  <pre><code>function populateList(){
  //retrieves list from the server, adds it to the option box
      if(toggle == 0){
          var jsonGet = new XMLHttpRequest();
          jsonGet.open("GET","./json/GetAllEvents.php",true);
          jsonGet.onreadystatechange = function () {
                  text = JSON.parse(jsonGet.responseText);   //ERROR HERE
                  //updating html with data received
          };
          jsonGet.send();
          toggle = 1;
      } else {}
  
  };
  </code></pre>
  
  <p>The JSON returned looks like this (without the line breaks):</p>
  
  <pre><code>{"success":true,
  "number_of_rows":2,
  "data":[
      {"id":"7","event_name":null,"day":3,"start_time":510,"end_time":617},
      {"id":"8","event_name":null,"day":1,"start_time":510,"end_time":617}
  ]}
  </code></pre>
  
  <p><a href="http://jsonlint.com/" rel="nofollow">JSONLint</a> says that the above is valid. I guess I will take a look into whether XMLHttpRequest does anything strange. Firefox continues to function (even though firebug shows the error), IE9 stops at this point though. </p>
  
  <p>I'm pretty stumped. Any help is appreciated.</p>