Chrome调试器在错误版本的JSON

时间:2016-05-29 16:32:00

标签: javascript json google-chrome-devtools

我有简单的网络计算器和JSON打印机。计算器工作正常,但是当我尝试从JSON文件打印数据时,我在JSON中收到错误“Unexpected token”。问题是我已经删除了这个“]”,但在刷新网站或重置http-server之后我仍然收到此错误,而我的JSON看起来与之前完全相同。这有什么问题?

我的JS:

'use strict';
var showData = (function() {
var xmlhttp = new XMLHttpRequest(),
    url = "games.json";

return {
  gamesData: function() {
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            var myArr = JSON.parse(xmlhttp.responseText);
            showGames(myArr);
        }
    };
    xmlhttp.open("GET", url, true);
    xmlhttp.send();
  }
};
})();

function showGames(arr) {
    var out = "";
    var i;
    for(i = 0; i < arr.length; i++) {
        out += '<p>Title: ' + arr[i].title + '</p>' + '<p>Producer: ' + arr[i].producer + '</p>' + '<p>Release date: ' + arr[i].release + '</p>' + '<p>Genre: ' + arr[i].genre + '</p>';
    }
    document.getElementById("games-data").innerHTML = out;
  }

我的JSON:

[
{

"title" : "Diablo",
"producer" : "Blizzard",
"release" : 1996,
"genre" : "hack'n'slash"
 },

   {
     "title" : "Diablo 2",
     "producer" : "Blizzard",
     "release" : 2000,
     "genre" : "hack'n'slash"
   },

   {
     "title" : "Diablo 3",
     "producer" : "Blizzard",
     "release" : 2012,
     "genre" : "hack'n'slash"
   },

   {
     "title" : "Overwatch",
     "producer" : "Blizzard",
     "release" : 2016,
     "genre" : "FPS"
   },

   {
     "title" : "Heroes of the Storm",
     "producer" : "Blizzard",
     "release" : 2015,
     "genre" : "MOBA"
   },

   {
     "title" : "FIFA 16",
     "producer" : "EA Sports",
     "release" : 2015,
     "genre" : "Sport"
   },

   {
     "title" : "Team Fortress 2",
     "producer" : "Valve",
     "release" : 2007,
     "genre" : "FPS"
   }
 ]

我正在尝试将showData.gamesData()称为js onlick方法,但我得到了这个json错误。当我点击链接到错误时,它突出显示“暗黑破坏神2”之后的昏迷,但我已在此主题中写过错误。

0 个答案:

没有答案