首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带有Angular2的ASP.MVCWebAPI- Http头访问-控制

带有Angular2的ASP.MVCWebAPI- Http头访问-控制
EN

Stack Overflow用户
提问于 2017-06-30 05:43:30
回答 2查看 669关注 0票数 2

我有Angular2和ASP.MVCREST服务器的rest应用程序,通信也有问题。当我发送get时,我得到以下错误:

请求的资源上没有“访问-控制-允许-原产地”标题。因此,“http://localhost:4200”源是不允许访问的。

当我添加访问控制-允许-原产地请求时,我得到以下错误:

对飞行前请求的响应不会通过访问控制检查:请求的资源上没有“访问-控制-允许-原产地”标题。因此,“http://localhost:4200”源是不允许访问的。响应具有HTTP状态代码404。

这是我的代码:

代码语言:javascript
复制
let headers = new Headers({ 'Access-Control-Allow-Origin': '*' })
    this.http.get("http://localhost/App/Users", { withCredentials: true, headers: headers })
      .subscribe(response => {
        console.log("A");
      }, error => {
        console.log(error);
      });

在web.config中启用了Windows身份验证。问题在哪里?

EN

Stack Overflow用户

发布于 2017-06-30 07:58:04

这里的问题似乎是CORS。您的角和WebAPI使用不同的端口,因为您使用的是本地主机。(看起来它们是两个不同的项目)。要解决这个问题,可以使用“install Microsoft.AspNet.WebApi.Cors”安装nuget包,然后在WebApiConfig文件中只需使用"config.EnableCors()“即可。现在,你暴露在角度部分的API,必须被告知CORS应该在那里使用。因此,您可以将属性放在控制器上,以提及源、标头和方法。在那之后一切都会好的。要获得更多参考,您可以检查此链接,https://learn.microsoft.com/en-us/aspnet/web-api/overview/security/enabling-cross-origin-requests-in-web-api

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44839321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档