Angular 5 SPA中的CORS问题

时间:2017-12-11 17:14:46

标签: angular typescript http-post cross-domain

我正在使用Visual Studio 2017构建Angular 5 .NET Core SPA,我正在尝试进行一些 http.post 调用。例如:

@Injectable()
export class ValidateEmailService {
    constructor(private http: HttpClient) { }

    validateEmail(email: any) {
        const headers = new HttpHeaders().set("Content-Type", "application/json");
        const url = "https://service/.../Email/Validate";
        return this.http.post(url, email, { headers: headers })
            .catch(error => Observable.throw(error || "Server error"));
    }
}

由于我使用的是本地Web服务器,因此在尝试调用上述API时遇到了跨源问题。我安装了CORS Chrome插件以克服这个问题。不幸的是,我遇到了其他问题:

  

选项https://service/.../Email/Validate 405(方法不允许)
  无法加载https://service/.../Email/Validate:对预检请求的响应未通过访问控制检查:否' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' http://localhost:65040'因此不允许访问。
  响应具有HTTP状态代码405

上述API在Postman上运行正常。以上是否有任何解决方案?无论我搜索多少,我都找不到解决方法......

P.S。请不要建议通过C#。我想直接调用API。

0 个答案:

没有答案