现象
我们的restful接口支持跨域访问,chrome下测试正常,但是在IE11里报错。
错误信息如下:
Request header field xxx is not allowed by Access-Control-Allow-Headers in preflight response
分析
其中的xxx是系统自定义的请求头。排查后台的Spring boot代码,设置跨域请求头的代码如下:
corsConfiguration.addAllowedHeader("*");
貌似这里设置没有问题,尝试把自定义的请求头放进字符串。问题居然解决了。搜了一下没有找到具体原因,就当成IE的锅吧……
解决办法
corsConfiguration.addAllowedHeader("content-type, xxx, ... ");
注意,多个请求头用逗号间隔。
网友评论