为GET请求设置标头 - Angular 2 Observable / Promise

时间:2017-04-12 23:58:52

标签: angular get promise http-headers observable

我在使用HTTP GET到Cloudant / NoSQL数据库时遇到Origin http://localhost:3000 is not allowed by Access-Control-Allow-Origin.错误。

我知道设置Access-Control-Allow-Origin: *将允许来自localhost的GET请求,但我看不到Angular 2中专门用于设置标头的文档。

async getData(): Promise<IPost[]> {
    return this._http.get(this._postUrl)
        .toPromise()
        .then(this.extractData)
        .catch(this.handleError);
}

IPost[]是在extractData()执行后将返回的对象。

感谢任何帮助,感谢您的时间!

1 个答案:

答案 0 :(得分:0)

当我想调用REST API时,我通常会使用它。 data是您发送的请求对象。

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

     this.http.post(ENDPOINT, JSON.stringify(data), {headers: HEADERS})
          .map(this.extractData)
          .subscribe(
            payload => {
                           //do some operation or set values with payload
                        }
          );

这是为了发布电话。如果您想使用GET调用,则不必在角度2侧设置任何标题。仅在后端需要允许对localhost /特定计算机的请求。