【发布时间】:2020-03-31 04:07:21
【问题描述】:
我的后端在 SpringBoot 上运行,并且我使用过滤器方法启用了 CORS,这就是我的 SpringCORSFilter 的样子:
@Component
public class SimpleCORSFilter implements Filter {
private final Logger log = LoggerFactory.getLogger(SimpleCORSFilter.class);
public SimpleCORSFilter() {
log.info("SimpleCORSFilter init");
}
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With, remember-me");
chain.doFilter(req, res);
}
@Override
public void init(FilterConfig filterConfig) {}
@Override
public void destroy() {}
}
我有 2 个前端应用程序,它们都有类似的 HTTP 标头设置。 看起来像这样:
let headers = new HttpHeaders({
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, POST, PATCH, PUT, DELETE, OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type, Access-Control-Allow-Headers, X-Requested-With',
});
在我的独立 Angular 应用程序中,我只在 firefox 或移动浏览器上看到这些问题,但在 chrome 浏览器上完全没有问题。
关于如何解决此问题的任何想法?
编辑 1:所以我已经要求几个用户测试核心应用程序以及我的独立应用程序,我们在这两种情况下都看到了 CORS 问题。
【问题讨论】:
标签: angular spring-boot cors ionic4