带标题的帖子请求错误

时间:2017-10-16 15:06:21

标签: c# jquery asp.net-mvc

我正在发送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>

1 个答案:

答案 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