Angular CORS请求未提交

时间:2017-05-05 20:18:37

标签: javascript angular typescript cors

我正在使用Angular 4;我当前的浏览器是启用了CORS的Google Chrome。我正在尝试进行CORS调用,但没有任何反应,也没有显示错误消息。这是我的服务代码。

import { Injectable } from '@angular/core';
import { Headers, Http } from '@angular/http';

import 'rxjs/add/operator/toPromise';

@Injectable()
export class FlowLoginService {

  constructor(private http: Http) { }

  private headers = new Headers({'Content-Type': 'application/json'});

  private getTokenURL = 'http://targeturl.com/api/login';  // URL to web api

  login(username: string, password: string): Promise<any> {
    console.log("executing login");
    return this.http
      .post(this.getTokenURL, JSON.stringify({username: username, password: password}), {headers: this.headers})
      .toPromise()
      .then(res => {console.log(res); res.json().data as any})
      .catch(this.handleError);

  }

  private handleError(error: any): Promise<any> {
    console.error('An error occurred', error); // for demo purposes only
    return Promise.reject(error.message || error);
  }

}

在login方法中的return语句之前记录某些内容证明该方法已执行。但是,承诺永远不会返回,查看服务器日志显示它没有收到任何请求,catch语句没有捕获任何错误,浏览器开发控制台也没有提到已经尝试过CORS请求。 我的假设是,因为我正在运行开发服务器,所以请求被提交到“http://localhost:4200/http://targeturl.com/api/login”。 成功提交“http://targeturl.com/api/login”的请求需要进行哪些更改。

0 个答案:

没有答案