Asp.net 具有 Angular 2 配置的 MVC5

Asp.net MVC5 with Angular 2 configuration

我是 Angular 2 的初学者。我正在使用 Angular CLI 创建 Angular 项目。我正在单独创建 asp.net MVC Web api 项目。

当我使用 Angular http get 请求从 localhost:65320/api/myservice 下载数据时,发生了跨源问题。因为 angular 项目使用不同的 url。但我将 header 添加到 Access-Control-Allow-Origin=* 问题已解决。

但是当我使用 http post 请求时总是 return 405 method not allowed 出现问题

问题:

正确答案:

Web api 跨源问题解决了这篇文章: https://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api#enable-cors @chandermani 建议

您可以通过两种不同的方式在 Web API 中启用 CORS:

  1. 使用 Microsoft.AspNet.WebApi.Cors:按照 https://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api as Chandermani 指出的教程进行操作。
  2. 将以下内容添加到 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>