今天花了N久时间搞在一个日了狗的问题上。就是前端ajax跨域的问题:
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource
然后问leader,
我leader:controller配置
某博客:基本原理是在spring Controller的每一个请求返回的时候都加上Access-Control-…header
我自己:Spring拦截器配置
都TM不行,网上各种都说配置
httpServletResponse.setHeader("Access-Control-Allow-Origin", "*");
就行了。我TM配置了的啊!还是不行。尼玛拜托回答问题回答全一点。
你们以为一个很无脑的问题可是要花人家很久时间的!
结果:
必须配置个filter,在filter设置
httpServletResponse.setHeader("Access-Control-Allow-Origin", "*");
搞定了。
之后还报了个小错误,认证
httpServletResponse.setHeader("Access-Control-Allow-Headers", "Authentication");
搞定了。
重要的事情说三次:
必须在filter配置!!
必须在filter配置!!
必须在filter配置!!
直接在controller写和inteceptor写都是没鸟用的!!!!!!!!!!!!!!!!!
具体: