我正在尝试为我的API添加CORS支持。我已经添加了nuget包Microsoft.AspNet.WebApi.Cors。我已将此添加到我的WebgApiConfig.cs文件中,在Register
中config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
我也尝试过在Controller上进行配置。无论我尝试什么,Access-Control-Allow-Origin标头都没有添加到响应中,当我执行javascript时,我在Chrome中收到此消息
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://localhost:19560' is therefore not allowed access. The response had HTTP status code 401
对我可能遗失的任何想法?
如果我设置了ajax contentType,它现在有效 contentType:' text / plain'
显然这是必需的,因为没有路由处理来自浏览器的预检选项请求。现在我需要弄清楚如何处理预检选项检查,这样我就不必设置contentType。
答案 0 :(得分:1)
通过CORS提供跨域支持解决方案的非常好的教程:
http://www.codeproject.com/Articles/843044/Getting-started-with-AngularJS-and-ASP-NET-MVC-The
它实际上只是一个要安装的nuget包:
Install-Package Microsoft.Owin.Cors
在Startup.cs中,修改Configuration以使其包含以下内容:
public void Configuration(IAppBuilder app)
{
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
ConfigureAuth(app);
}