预检响应具有无效的 http 状态代码 405 angular 5 in chrome

Response for preflight has invalid http status code 405 angular 5 in chrome

我收到 405 错误 我已附上屏幕截图和代码以供审核。

getDetails(rolename: Role): Observable<Role> {
        let value = Array();
        let headers = new Headers();
        headers.append('Content-Type', 'application/json');        
        let options = new RequestOptions({ headers: headers });
        var passData = {
            "Abc": "khkh",
            "cde": "hkhk",
            "fgh": "hkhk",
            "ijk": "acc"
        };
        let body = this.serializeObj(passData);

        return  this.http.post("http://localhost/service.svc/GetResults",           
           body,            
           options).pipe(
              map((response:  Response)  =>  {
                  debugger;
                 return  <Response>response;
              })).catch(this.handleErrorObservable);

    }

我已经在 webconfig 中添加了 cors

<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>

我的 Post 方法指向 WCF Rest

[OperationContract]
        [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json,
                                   RequestFormat =WebMessageFormat.Json,
                                   BodyStyle = WebMessageBodyStyle.Wrapped,
                                   UriTemplate = "GetResults")]
        List<ResponceModel> GetResults(Model request);

我做不到 post。请帮助我。

URL 必须包含您的请求中缺少的端口号。请添加查看

我得到了答案

我在同一台服务器上托管应用程序并尝试 运行 在同一应用程序域中。所以没有发生跨域问题。这样我的问题就解决了。 感谢大家的帮助