Web API CORS不会返回正确的Access-Control-Allow-Origin标头

时间:2016-08-24 21:15:09

标签: javascript angularjs asp.net-web-api cors

尝试通过WebAPI 2上的CORS设置来理解和调试问题。 我的前端angular / javascript应用程序与我的API进行通信

  

http://api.example.com/api/items/GetAll

有时会返回以下错误:

  

' Access-Control-Allow-Origin' header有一个值   ' http://example.com'这不等于提供的原产地。   起源' http://www.example.com'因此不允许访问。

在Fiddler上测试api链接会在标题中返回以下内容:

  

Access-Control-Allow-Origin:http://example.com

为什么会发生这种情况?如何解决这种情况?

1 个答案:

答案 0 :(得分:1)

您似乎在客户端代码中调用了这两种类型的域/ URL。

基于这个假设,应该为两个域指定CORS,即

http://example.com 
http://www.example.com

参考文献:

  1. https://www.w3.org/TR/cors/#access-control-allow-origin-response-header
  2. Access-Control-Allow-Origin wildcard subdomains, ports and protocols