0

我有一个带有一些 i18n JSON 文件的 Angular 应用程序。这些文件工作正常 - 网站的语言会根据选择的语言进行完美更改。但是,我得到一个有趣的控制台错误,我无法弄清楚 -

Uncaught SyntaxError: Unexpected token : at en.json: 2

Resource interpreted as Script but transferred with MIME type application/octet-stream

每个文件的控制台中都会出现相同的错误。

我的文件结构有问题吗?

en.json 中的数据示例:

{ 
    "WELCOME" : "Welcome",
    "HOME" : "Home",
    "GO" : "Go",
    "LOGOUT" : "Log Out"
}
4

1 回答 1

1

您的 JSON 文件没有任何问题,但是根据控制台日志,您的 Web 服务器似乎没有设置正确的响应标头Content-Type,应该是application/json. 因此,您的浏览器会尝试将您的文件解释为 JavaScript 文件并找到无效的令牌。

例如对于 Nginx,您可以使用 HTML5-Boilerplate 项目 ( https://github.com/h5bp/server-configs-nginx/blob/master/mime.types ) 提供的 mime 类型配置文件并将其包含到您的 Nginx 配置中:

include /etc/nginx/mime.types;

它包含以下指令设置application/json作为 JSON 的内容类型:

types {
  application/json                      json;
}
于 2014-03-18T08:43:15.750 回答