ASP.NET WebAPI2 和 AngularJS

ASP.NET WebAPI2 and AngularJS

提问人:user199135 提问时间:11/21/2021 更新时间:11/23/2021 访问量:39

问:

我正在使用 firefox 在 AngularJS/HTML 客户端页面和 ASP.NET WebAPI 上的控制器之间执行连接。

问题是我不断收到“跨域请求被阻止:同源策略不允许在 https://localhost:44377/project/all 读取远程资源。(原因:缺少 CORS 标头“Access-Control-Allow-Origin”)。除非我启用 CORS firefox 扩展。

即使启用了它,我的页面似乎也没有抓取所需的数据;但是错误消失了。

[EnableCors(origins: “https://localhost:PortNumberHereWithoutTheForwardSlah”, headers: “”, methods: “”)] 在我的 Controller:ApiController 上方并使用了配置。EnableCors();在 App_Start 的 WebApi.Config 中。

注意:当我尝试在浏览器中使用[HttpGet]时,使用[HttpGet]的方法确实有效。

asp.net angularjs asp.net-web-api

评论

1赞 Rafael Herscovici 11/21/2021
这回答了你的问题吗?如何修复“CORS 协议不允许同时指定通配符(任何)源和凭据”错误
0赞 user199135 11/21/2021
不,我在 ASP.net MVC 上
0赞 Rafael Herscovici 11/22/2021
stackoverflow.com/questions/40079214/......

答:

1赞 user199135 11/23/2021 #1

</system.webServer>谢谢,但我发现在 Web.config 中的 /handlers 和 /system.webServer 之间插入它从另一篇文章中更灵活。

评论

0赞 user199135 11/23/2021
</handlers> <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> 谢谢,但我发现在 Web.config 中的 /handlers 和 /system.webServer 之间插入它从另一篇文章中更灵活。
0赞 Community 11/23/2021
您的答案可以通过额外的支持信息得到改进。请编辑以添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到有关如何写出好答案的更多信息。