我有 2 个 Azure 网站(ASP.NET MVC 5 和 ASP.NET WebApi 2)。MVC 网站有一些 jQuery 尝试将 CORS 请求发布到 WebApi。如果它直接连接到 WebApi,它就可以正常工作。但是,当尝试通过 API 管理进行连接时,它不起作用。
我在 Chrome 中遇到的错误是:
XMLHttpRequest 无法加载https://XXXXXX.azure-api.net/api/search。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问来源“ https://YYYYYY.azurewebsites.net ”。
我排除了 WebApi 配置的问题,因为正如我所说,它可以直接工作。
以下是我的政策:
<policies>
<inbound>
<cors>
<allowed-origins>
<origin>*</origin>
<!-- allow any -->
</allowed-origins>
<allowed-headers>
<header>accept</header>
<header>accept-encoding</header>
<header>access-control-request-headers</header>
<header>access-control-request-method</header>
<header>connection</header>
<header>content-type</header>
<header>host</header>
<header>origin</header>
<header>referer</header>
<header>user-agent</header>
</allowed-headers>
<expose-headers>
<header>access-control-allow-headers</header>
<header>access-control-allow-origin</header>
<header>cache-control</header>
<header>content-length</header>
<header>date</header>
<header>expires</header>
<header>pragma</header>
<header>server</header>
<header>set-cookie</header>
<header>x-aspnet-version</header>
<header>x-powered-by</header>
</expose-headers>
</cors>
</inbound>
<backend>
<base />
</backend>
<outbound>
<base />
</outbound>
</policies>
有任何想法吗?