Cors不解决交叉原始请求

时间:2015-06-14 12:16:40

标签: asp.net angularjs webserver

我尝试使用ASP.NET MVC Web API构建角度应用程序。

当我向我的网络服务器(localhost)发出$ resource请求时,我得到了

  

XMLHttpRequest无法加载http://localhost:59636/api/studios。 No' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' http://localhost:44060'因此不允许访问。响应的HTTP状态代码为401。

我读到安装Cors会解决这个问题。但它没有。我已经尝试了两种启用角色

config.EnableCors(new EnableCorsAttribute("*", "*", "*"));

以及使用属性

[EnableCorsAttribute("*", "*", "*")]

正在开发IE

maybe this helps? I am calling the default api/values

1 个答案:

答案 0 :(得分:0)

在您的WebApiConfig.cs文件中,您应该:

        config.EnableCors();

在ApplicationOAuthProvider.cs中,在GrantResourceOwnerCredentials()中:

context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin",
                new[] { "http://localhost:44060" });

通过控制器:

[EnableCorsAttribute("http://localhost:44060", "*", "*")]