title: Always got Method DELETE is not allowed by Access-Control-Allow-Methods in preflight response
body: <p>I am using jersey as my restful api implementation. In the front end, I am using angularjs $http service to make http request. When I request a delete method I always got below error.</p>
  
  <pre><code>"Method DELETE is not allowed by Access-Control-Allow-Methods in preflight response."  
  </code></pre>
  
  <p>I read some articles and they say I need to allow delete on "Access-Control-Allow-Methods". I have setup the response filter as below but it still has such problem. What else should I do?</p>
  
  <pre><code>@Provider
  public class CORSResponseFilter implements ContainerResponseFilter {
  
      @Override
      public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
          MultivaluedMap&lt;String, Object&gt; headers = responseContext.getHeaders();
  
          headers.add("Access-Control-Allow-Origin", "*");
          headers.add("Access-Control-Allow-Methods", "*");
      }
  }
  </code></pre>
  
  <p>below is my angular code to make the request:</p>
  
  <pre><code>$http({
              method: 'DELETE',
              url: remoteUrl,
              headers : {'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8',
                  'ACCESS_TOKEN' : $cookieStore.get("access_token")
              },
              data : $httpParamSerializer({
                  'id':id
              })
          }).success(function(data,status,headers,config) {
              $scope.refreshDepartments();
              console.log(data);
              alert("success");
          }).error(function(data,status,headers,config){
              console.log(data);
              alert("error");
          });
  </code></pre>