在Web API中启用CORS时,“ *”中允许使用哪些HTTP方法

时间:2019-06-13 09:17:32

标签: c# asp.net-web-api cors

我已经通过使用Cors库在Web API中实现了CORS。

   [EnableCors(origins: "*", headers: "*", methods: "*")]

和webapi配置文件

       config.EnableCors();

我使用POST方法调用api,但仍然在控制台i中出错:e请求的资源上没有'Access-Control-Allow-Origin'标头。

然后我改变了

      [EnableCors(origins: "*", headers: "*", methods: "*")]

收件人

     [EnableCors(origins: "*", headers: "*", methods: "GET, POST, PUT, DELETE, OPTIONS")]

然后它开始工作,我的问题是为什么它不能与使用“ *”的允许方法一起工作

1 个答案:

答案 0 :(得分:4)

并非所有浏览器都支持Access-Control-Allow-Methods的通配符。

  • 基于铬的浏览器应支持它(issue 615313
  • Firefox尚不支持(bug 1309358
  • IE可能不支持它,而Edge可能还不支持它。 Edge将来会迁移到Chromium引擎,因此他们会在某个时候提供支持。

MDN here还会跟踪浏览器支持,因此,以后的读者也可能希望检查一下该答案是否过时。