我正在发送ajax请求 带有标题。 并得到这样的错误 对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。起源。 我在我的mvc应用程序中启用了标题,但同样的错误即将到来。并且想要修复它......
<customHeaders>
<remove name="Server" />
<remove name="X-Powered-By" />
<remove name="X-AspNet-Version" />
<remove name="Access-Control-Allow-Headers"/>
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept,Token" />
<add name="Access-Control-Expose-Headers" value="ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-Exceptionless-Client" />
<remove name="Access-Control-Allow-Origin"/>
</customHeaders>
答案 0 :(得分:0)
问题是你在Origin和Destiny之间有一个不同的URL。
将Destiny的Web.config更改为以下行:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
请小心,因为任何人都可以访问您的资源(*)。如果需要,可以编写URL源。
解决此问题的另一个选择是启用CORS:https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/enabling-cross-origin-requests-in-web-api