为MVC和AngularJS启用CORS

时间:2016-06-23 12:20:56

标签: javascript asp.net angularjs asp.net-mvc cors

我有一个IONIC / AngularJS应用程序,我必须从中调用我的ASP.NET MVC控制器方法,即登录。它可以与 $ http.get()一起使用,但是当我使用 $ http.post() $ http({方法:' POST& #39;})它会返回错误。错误是(对于Chrome):

  

对预检请求的响应未通过访问控制检查:否   '访问控制允许来源'标题出现在请求的上   资源

我已按照此问题的答案启用了CORS for Server:

CORS in ASP .NET MVC5

我还包括nuget包以启用CORS,但这并没有解决我的问题。我还尝试在Angular的POST请求中添加以下内容:

$http({
     method: 'POST',
     url: url,
     headers: {'Access-Control-Allow-Origin': '*'},
     data: _data}).then();

但它也没有用。如果我错过了什么,请告诉我。

Thankx

2 个答案:

答案 0 :(得分:3)

将此添加到您的web.config文件

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

答案 1 :(得分:2)

将此添加到您的WebApiConfig

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