我已经使用 Cors 库在 Web API 中实现了 CORS。
[EnableCors(origins: "*", headers: "*", methods: "*")]
在webapi配置文件中
config.EnableCors();
我使用 POST 方法调用了 api,但我仍然在控制台中遇到错误,即:请求的资源上不存在“Access-Control-Allow-Origin” header 。
然后我改变了
[EnableCors(origins: "*", headers: "*", methods: "*")]
到
[EnableCors(origins: "*", headers: "*", methods: "GET, POST, PUT, DELETE, OPTIONS")]
然后它开始工作了,我的问题是为什么它不能使用“*”允许的方法
请您参考如下方法:
Access-Control-Allow-Methods 的通配符尚未被所有浏览器支持。
- 基于 Chromium 的浏览器应该支持它 ( issue 615313 )
- Firefox 尚不支持它 ( bug 1309358 )
- IE 可能不支持它,而 Edge 可能还不支持它。 Edge 将来会转向 Chromium 引擎,因此他们会在某个时候支持它。
浏览器支持也由 MDN here 跟踪,所以 future 的读者可能也想检查一下,以防这个答案过时。
