在html中引入js、css等静态资源后,发现chorme报Uncaught SyntaxError: Unexpected token < 这个错误,如下图所示。导致这种错误的原因有很多。
1、js代码写得不对。(我遇到的不是这个错误,重点介绍以下两种)
2、在配置spring静态资源的时候,路径没有写对。另外,在html中只写
<script src="js/jquery-1.9.1.min.js"></script>
这样是不行的,必须加入
type="text/javascript"
3、如果使用shiro等权限框架,shiro不仅会按照配置拦截html、jsp等url,同样对静态资源拦截,
解决方案是在配权限的url是把相应静态资源的路径都设置成可以匿名访问。
<property name="filterChainDefinitions">
<value>
/css/**=anon
/js/**=anon
/** = authc
</value>
</property>
如果是使用shiro的FilterChainDefinitionMapBuilder,则添加
map.put("/js/**", "anon");