web api跨域资源共享

时间:2016-06-30 11:56:00

标签: asp.net angularjs asp.net-web-api

我在使用web api时遇到问题。当我使用web api服务时会遇到跨域资源共享问题。

Actullay我开发了web api应用程序并在iis中托管,然后我需要使用angularjs在mvc应用程序中使用该服务。

这里是Actulla问题的开始,httppost,httpget正常工作。 但[httpput,httpdelete]无法正常工作。

2 个答案:

答案 0 :(得分:1)

查看这篇文章 - Enabling Cross-Origin Requests in ASP.NET Web API 2

  1. 在Visual Studio程序包管理器控制台中运行:

    安装包Microsoft.AspNet.WebApi.Cors

  2. 然后在 WebApiConfig.Register 方法中调用config.EnableCors();

  3. 这将在全球范围内启用CORS。您也可以按控制器执行此操作,只需阅读本文,您将了解实现此目标的不同方法

答案 1 :(得分:0)

请在API项目的网络配置中的<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>