title: The requested resource does not support http method 'OPTIONS'.?
body: <p>I am making the following request to an asp.net web api PUT method from my angular.js client:</p>
  
  <pre><code>var org = {
                    OrgId: 111,
                    name: 'testing testing'
            };
  $http.put("http://localhost:54822/api/data/putorganisation/1/", org).then(function(status) {
           console.log("success PUT");
           return status.data;
  });
  </code></pre>
  
  <p>However getting the following errormsg (in fiddler):</p>
  
  <pre><code>{"message":"The requested resource does not support http method 'OPTIONS'."}
  </code></pre>
  
  <p>This is a part of my asp.net web api web.config file:</p>
  
  <pre><code> &lt;system.webServer&gt;
      &lt;httpProtocol&gt;
        &lt;customHeaders&gt;
          &lt;add name="Access-Control-Allow-Origin" value="*" /&gt;
          &lt;add name="Access-Control-Allow-Headers" value="Content-Type,x-xsrf-token,X-Requested-With" /&gt;
          &lt;add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" /&gt;
        &lt;/customHeaders&gt;
      &lt;/httpProtocol&gt;
      &lt;validation validateIntegratedModeConfiguration="false" /&gt;
      &lt;handlers&gt;
        &lt;remove name="ExtensionlessUrlHandler-Integrated-4.0" /&gt;
        &lt;remove name="OPTIONSVerbHandler" /&gt;
        &lt;remove name="TRACEVerbHandler" /&gt;
        &lt;add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /&gt;
        &lt;remove name="WebDAV" /&gt;
      &lt;/handlers&gt;
      &lt;modules runAllManagedModulesForAllRequests="true"&gt;
        &lt;remove name="WebDAVModule" /&gt;
      &lt;/modules&gt;
    &lt;/system.webServer&gt;
  </code></pre>
  
  <p>data controller web api:</p>
  
  <pre><code>public HttpResponseMessage Options()
  {
              var response = new HttpResponseMessage();
              response.StatusCode = HttpStatusCode.OK;
              return response;
  }
  
  public HttpResponseMessage PutOrganisation(int id, [FromBody]Organisation org)
  {
    var opStatus = _Repository.UpdateOrganisation(org);
    if (opStatus.Status)
    {
       return Request.CreateResponse&lt;Organisation&gt;(HttpStatusCode.Accepted, org);
    }
  
  return Request.CreateErrorResponse(HttpStatusCode.NotModified, opStatus.ExceptionMessage);
  }
  </code></pre>
  
  <p>This is my question: Why do I get the errormsg ( see above) when I make exactly the same request in fiddler ( works) as in the angularclient (does not work)??</p>