拒绝应用样式,因为它的MIME类型(' application / json')不受支持

时间:2018-03-13 18:31:25

标签: css spring spring-security

我想使用fullcalendar库,使用gulp和yarn这是生成的链接标记:

但我在控制台中收到此错误:

  

拒绝申请样式   ' http://localhost/bower_components/fullcalendar/dist/fullcalendar.css'   因为它的MIME类型(' application / json')不受支持   样式表MIME类型,并启用严格的MIME检查。

为什么我会得到这个,我该如何解决?

4 个答案:

答案 0 :(得分:1)

如果您使用的是Spring Boot,则甚至不必覆盖addResourceHandlers(),只需确保使用th:href并将其指向正确的目录即可。

答案 1 :(得分:0)

您的应用正在使用错误 MIME类型('application / json')提供 fullcalendar.css 。所以,我的建议是挖掘信任错误信息的问题。

在我的情况下,我第一次使用spring-boot尝试 Thymeleaf WebJars ,并且盲目地跟随一些教程我添加了这个:

@Configuration
public class WebConfigurer extends WebMvcConfigurerAdapter {

  @Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/webjars/**").addResourceLocations("/webjars/");
  }
}

另外,我的样式在html中定义如下:

<link rel="stylesheet" type="text/css" th:href="@{/webjars/bootstrap/css/bootstrap.min.css}" />
<link rel="stylesheet" type="text/css" th:href="@{/css/main.css}" />

这样,“bootstrap.min.css”和其他人被给出了同样的错误:“拒绝应用样式,因为它的MIME类型('application / json')不受支持”

我还没有弄清楚这种行为的原因,但是一旦我意识到spring-boot有一个WebJars的自动配置,我就删除了那个注册表,一切都开始正常工作了。

注意:有一些类似的曲目“MIME类型('text / html')”,原因通常是安全过滤器不允许 css 文件和重定向到html登录页面。因此,请记住这一点,并检查您是否对此请求进行了某种过滤/重定向。

答案 2 :(得分:0)

以我为例,我发现css文件名中有错字。因此,我试图导入一个不存在的文件。

答案 3 :(得分:0)

将URL直接放在浏览器中,看看是否可以访问它。

对于您的情况,请在浏览器中将此URL设为http://localhost/bower_components/fullcalendar/dist/fullcalendar.css

如果无法访问,则说明您的代码中的网址错误。

就我而言,我将css文件放在名为css的目录中,但是在代码中,我编写了/ plugins / css并收到相同的错误。

此外,不要忘记输入type =“ text / css”

因此,我的代码示例如下:

<head>
    <link rel="stylesheet" type="text/css" th:href="@{/css/app.css}">
</head>