当端点接受参数时,CORS对预检请求的响应

时间:2016-09-27 11:46:05

标签: asp.net cors asp.net-web-api2

我有一个Angular2应用程序和一个全局启用了cors的ASP.NET web api 2: enter image description here

和一个带帖子的控制器,采用登录模式(电子邮件和密码为字符串)enter image description here

和来自客户的请求: enter image description here

如果我将参数留空,我可以从我的前端调用它,但是如果我让它需要loginmodel,我会得到以下内容: enter image description here 和请求: enter image description here

有人能说出这是怎么回事吗?而不是至少如何解决它。

1 个答案:

答案 0 :(得分:0)

我无法解释这一点,但它有效。 我删除了:

          var cors = new EnableCorsAttribute("*", "*", "*");
          config.EnableCors(cors);

从我的WebApiConfig中将以下内容添加到我的web.config:

<system.webServer>
<httpProtocol>
  <customHeaders>
    <!-- This enables your CORS Requests to be accepted. -->
    <add name="Access-Control-Allow-Origin" value="*" />
    <add name="Access-Control-Allow-Headers" value="Content-Type" />
    <add name="Access-Control-Allow-Credentials" value="true" />
    <add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS" />
  </customHeaders>
</httpProtocol>

我没有从beginnig那样做的原因是我的Web api 2没有system.webserver,它有一个system.web,我不知道我可以同时拥有它们。如果有人能对此有所了解,请执行