Web Api 2 & Angular 之间的 CORS 错误
CORS error between Web Api 2 & Angular
我有两个服务器:App 和 Web,App 托管一个 Web api 2 API 受 OWIN 保护,Web 是一个 Angular 1.6 应用程序调用 api.
我的 header 看起来像这样:
要求:
Host: app
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Access-Control-Request-Method: GET
Access-Control-Request-Headers: authorization
Origin: http://mysite
Connection: keep-alive
回复:
Access-Control-Allow-Headers: *
Access-Control-Allow-Methods: *
Access-Control-Allow-Origin: *
Allow: GET
Content-Length: 83
Content-Type: text/html; charset=utf-8
Date: Tue, 11 Apr 2017 16:41:04 GMT
Server: Microsoft-IIS/10.0
X-Powered-By: ASP.NET
我打开了我的 web.config 包括:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="*" />
<add name="Access-Control-Allow-Headers" value="*" />
</customHeaders>
</httpProtocol>
我还有:
config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
我的错误是:
原因:CORS header‘Access-Control-Allow-Origin’与‘(null)’不匹配
我在这里遗漏了什么以及如何消除 CORS 错误?
当然,在发布问题后不久,我就明白了:我的问题有两个方面:
我需要删除
config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
来自 WebApiConfig.cs
然后在Startup.cs
我需要搬家
app.UseCors(CorsOptions.AllowAll);
到顶部。
web.config 部分也已安全删除。
归功于:
我有两个服务器:App 和 Web,App 托管一个 Web api 2 API 受 OWIN 保护,Web 是一个 Angular 1.6 应用程序调用 api.
我的 header 看起来像这样:
要求:
Host: app
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Access-Control-Request-Method: GET
Access-Control-Request-Headers: authorization
Origin: http://mysite
Connection: keep-alive
回复:
Access-Control-Allow-Headers: *
Access-Control-Allow-Methods: *
Access-Control-Allow-Origin: *
Allow: GET
Content-Length: 83
Content-Type: text/html; charset=utf-8
Date: Tue, 11 Apr 2017 16:41:04 GMT
Server: Microsoft-IIS/10.0
X-Powered-By: ASP.NET
我打开了我的 web.config 包括:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="*" />
<add name="Access-Control-Allow-Headers" value="*" />
</customHeaders>
</httpProtocol>
我还有:
config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
我的错误是:
原因:CORS header‘Access-Control-Allow-Origin’与‘(null)’不匹配
我在这里遗漏了什么以及如何消除 CORS 错误?
当然,在发布问题后不久,我就明白了:我的问题有两个方面:
我需要删除
config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
来自 WebApiConfig.cs
然后在Startup.cs
我需要搬家
app.UseCors(CorsOptions.AllowAll);
到顶部。
web.config 部分也已安全删除。
归功于: