我正在尝试共享一个使用GitHub页面完成的网站,但是在加载JSON文件时遇到了麻烦。
这是一个用于朋友游戏服务器的网站,使用HTML 5,JavaScript和JSON,我尝试从本地主机运行它,并且运行良好。
问题实际上是一个SyntaxError : Unexpected token < in JSON at position 0
,当我尝试在chrome调试器中查找JSON文件时,我看不到我的JSON文件来检查问题的根源。
JSON文件:
{
"header_menu_games": "Games",
"header_menu_home": "Home",
"header_menu_rules": "Rules",
"header_menu_support": "Support",
"header_serverip_text": "Server ip:",
"header_serverip_copy_btn": "Copy"
}
我用来翻译的JavaScript代码:
if (isLanguageAvailable) {
var myRequest = new Request(`../../src/lang/${userLang}.json`);
console.info(`User language (${userLang}) is available`);
} else {
var myRequest = new Request("../../src/lang/en.json");
console.info(`The user language (${userLang}) is unfortunately not available`);
}
console.log(myRequest);
fetch(myRequest)
.then(resp => {
resp.json()
.then(data => {
document.getElementById("lang-header_serverip_text").innerHTML = data.header_serverip_text;
})
.catch(err => {
console.error(err);
});
})
.catch(err => {
console.error(err);
});
控制台错误:
JavaSript捕获错误:
完整代码on GitHub可用。
答案 0 :(得分:2)
我相信您收到404错误,因为您将链接指向存储库位置而不是实际内容。您正在链接到一个不存在的链接:https://vianpyro.github.io/src/lang/en.json
您可以通过以下两种方式之一进行操作:
从存储库链接到文件的原始版本
从朋友的网域中指向正确的位置
在github中,单击Raw
,它将打开一个包含实际JSON的页面。
您会看到指向内容的实际链接是:https://raw.githubusercontent.com/Vianpyro/Aycraft/master/src/lang/en.json
您最初的问题之一就是您没有指向正确的道路。您朋友的网站托管在https://vianpyro.github.io/Aycraft上,而不是https://vianpyro.github.io/上。
这意味着站点的基本URL为https://vianpyro.github.io/Aycraft,路径中的所有内容都必须遵循该URL。您必须在域名后加上/Aycraft
,因为这是网站的基本网址。