我正在开发使用Javascript和HTML5画布构建的游戏。几乎所有事情都已完成,除了我无法部署某种能让我存储高分的功能。
由于游戏只是一个包含大量Javascript文件的HTML页面,即没有数据库,我的行动计划是将所有高分存储在哈希表中,如 -
{
"Bruce":100,
"Alexis":84,
"Megan":69,
"Carlos":52
}
然后将其存储为JSON文件。每次用户加载游戏时,都会解析JSON文件,并通过迭代哈希表来显示高分。
但我无法让它发挥作用。以下是我遇到的问题 -
jQuery的getJSON方法不允许我获取本地存储的文件。所以我将文件存储在我的Github上并将URL作为参数传递。这是正确的解决方案吗?我最终计划使用Github页面来主持这个游戏,所以当我部署到生产环境时,我认为我必须稍微更改URL。
之后,它把这个错误扔给了我......
否'访问控制 - 允许 - 来源'标头出现在请求的资源上。起源' null'因此不允许访问。
我环顾四周,在Chrome上安装了Allow-Control-Allow-Origin扩展程序。再次,这是正确的解决方案吗?
这就把我们带到了现在的位置。这就是我的方法调用的样子 -
此
$.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:意外的令牌<
另外,请知道我是否正确地采取了正确解决问题的方法......
答案 0 :(得分:2)
那是因为请求返回实际的github页面而不是原始文件。
您可以将您的请求发送到 raw.githubusercontent.com ,而不是获取原始文件。