今天遇到两个问题。
第一个,layui.open时,打开的框框没有关闭按钮!
同时还有一个问题是ajax调用action的时候,出现返回码302,访问不到的情况。
这两个问题看起来并没有什么联系。
我们知道layui想让框框出现关闭按钮其实很简单,只要设置closeBtn: 1,就可以了。
但是我的代码的确是这样:
那为什么是没有关闭按钮呢?
鼓捣了一上午,下午终于找到原因,原来是关闭按钮的背景图片为icon.png,但是访问这个图片出现了返回码302的状况……
所以两个问题的原因都是返回码302导致的。
HTTP返回码302代表的含义是重定向
一般出现302返回码的原因是被服务器拦截了,至于为啥拦截,各自有各自的情况。
我这里icon.png被拦截,是因为web.xml中设置了容器的拦截器DispatcherServlet,容器会自动拦截静态资源,除非设置了servlet-mapping使其通过
如下:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.gif</url-pattern>
</servlet-mapping>
但是这里并没有运行.png格式的,所以只需要加上下面的代码,就OK了。
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>
但是第二个问题就不是这样了,是因为设置了对action的拦截,如果没有在另一个系统赋予权限的话,是不可以使用的,所以,给它赋予权限就可以了。