Javascript - 在JSON文件中存储我的游戏的高分

时间:2015-08-30 15:50:33

标签: javascript jquery ajax json

我正在开发使用Javascript和HTML5画布构建的游戏。几乎所有事情都已完成,除了我无法部署某种能让我存储高分的功能。

由于游戏只是一个包含大量Javascript文件的HTML页面,即没有数据库,我的行动计划是将所有高分存储在哈希表中,如 -

{
  "Bruce":100,
  "Alexis":84,
  "Megan":69,
  "Carlos":52
}

然后将其存储为JSON文件。每次用户加载游戏时,都会解析JSON文件,并通过迭代哈希表来显示高分。

但我无法让它发挥作用。以下是我遇到的问题 -

  1. jQuery的getJSON方法不允许我获取本地存储的文件。所以我将文件存储在我的Github上并将URL作为参数传递。这是正确的解决方案吗?我最终计划使用Github页面来主持这个游戏,所以当我部署到生产环境时,我认为我必须稍微更改URL。

  2. 之后,它把这个错误扔给了我......

    否'访问控制 - 允许 - 来源'标头出现在请求的资源上。起源' null'因此不允许访问。

    我环顾四周,在Chrome上安装了Allow-Control-Allow-Origin扩展程序。再次,这是正确的解决方案吗?

  3. 这就把我们带到了现在的位置。这就是我的方法调用的样子 -

  4. $.getJSON('https://github.com/.../scores.json', function (data) {
      console.log(data);
    }).fail(function( jqxhr, textStatus, error ) {
      var err = textStatus + ", " + error;
      console.log( "Request Failed: " + err );
    });
    

    我在最后一行收到此错误 -

    请求失败:parsererror,SyntaxError:意外的令牌<

    另外,请知道我是否正确地采取了正确解决问题的方法......

1 个答案:

答案 0 :(得分:2)

那是因为请求返回实际的github页面而不是原始文件。

您可以将您的请求发送到 raw.githubusercontent.com ,而不是获取原始文件。