在 htaccess 中为 jsonp 设置内容类型标头

在 htaccess 中为 jsonp 设置内容类型标头

我在网站上安装的第三方 javascript 游戏出现问题,返回的内容类型响应标头不是application/json请求application/javascript为 jsonp 的资源。这在 Safari 或 Firefox 中似乎不是问题,但在 Chrome 中会引发错误。

我在控制台中收到的错误是Refused to execute script from 'http://example.come/js/game/data/game-data.json' because its MIME type ('application/json') is not executable, and strict MIME type checking is enabled.

基于一个推荐配置,我尝试将以下内容添加到.htaccess游戏根目录中的文件中,但似乎没有任何效果:

<IfModule mod_mime.c> AddType application/javascript jsonp </IfModule>

我已确认LoadModule mime_module modules/mod_mime.so我的文件中已启用此功能httd.conf。我还需要尝试其他设置吗?

答案1

AddType application/javascript jsonp

jsonp在此上下文中指的是文件扩展名静止的正在请求的资源。但是,引用的错误状态为game-data.json(no p),这意味着它是一个普通的 JSON 字符串/数据?application/json通常是 JSON 数据的正确 mime 类型。

然而,如果game-data.json真的提供 JSONP 服务,那么你也许应该修改你的AddType指令并删除p

AddType application/javascript json

相关内容