最近在做SMBMS的项目,遇到了无法加载样式的问题
浏览器控制台报警告
Resource interpreted as Stylesheet but transferred with MIME type text/html
意为css正常请求了,但是因为contextType错误所以无法正确显示。
网上的解决方案是将filter中的response.setContentType("text.html;charset=utf-8"
注释掉
但是注释掉之后仍然出现这个问题。
解决方案就是使用ctrl+F5刷新。
在使用F5刷新时,请求头和响应头是这样的
在使用ctrl+F5刷新时,请求头如下
在使用F5刷新时,服务端返回304 Not Modified,浏览器使用本地缓存,在使用ctrl+F5刷新时,服务端接收到的请求头里包含Cache-Control: no-cache,就会把最新的文件全部响应过来,不会使用本地缓存,也就是刷新了本地缓存。
之后再使用F5刷新,响应头就会包含正确的Content-Type: text/css
而不是Content-Type: text/html
,CSS加载的问题得到解决。