解决 "Access-Control-Allow-Methods 列表中不存在请求方法 DELETE" 错误

IE浏览器中访问请求方法为 DELETE 的接口时,出现以下错误

而在Chrome和Firefox浏览器中却访问正常,根据错误日志,发现在发起 OPTIONS 预请求后就报错了。

查看 OPTIONS 预请求的 Access-Control-Allow-Methods 响应头值为通配符 * 。

结果查找资料,发现 Access-Control-Allow-Methods 通配符 *  在IE中不会被识别,具体兼容如下图。

解决

解决方法

修改后端的跨域处理代码,将响应头 Access-Control-Allow-Methods 的值换成具体的请求方法。

(我这里的代码是 Java Spring,将 OPTIONS 请求的 Access-Control-Request-Method 请求头的值直接放到响应头 Access-Control-Allow-Methods 返回,效果与通配符 * 是一样的,其他语言和框架同理)

解决

你可能感兴趣的:(个人专栏,Java,Spring,跨域,IE,vue)