Api angular2 http.get()不';t向服务器发送请求
我正在尝试从angular应用程序对本地主机上的api执行get请求。但是由于某些原因,http客户端似乎没有执行get请求 我可以在我的api服务器上看到没有发出get请求。这就是导致错误的原因。api工作得很好,我试着做了一个curl,得到了预期的结果 异常:未捕获(承诺中):TypeError:无法读取未定义的属性“subscribe” api.serviceApi angular2 http.get()不';t向服务器发送请求,api,http,angular,get,angular2-services,Api,Http,Angular,Get,Angular2 Services,我正在尝试从angular应用程序对本地主机上的api执行get请求。但是由于某些原因,http客户端似乎没有执行get请求 我可以在我的api服务器上看到没有发出get请求。这就是导致错误的原因。api工作得很好,我试着做了一个curl,得到了预期的结果 异常:未捕获(承诺中):TypeError:无法读取未定义的属性“subscribe” api.service import { Injectable } from '@angular/core'; import { Headers, Htt
import { Injectable } from '@angular/core';
import { Headers, Http, Response, URLSearchParams, RequestOptions } from '@angular/http';
import { Observable } from 'rxjs/Rx';
@Injectable()
export class ApiService {
headers: Headers = new Headers({
'Accept': 'application/json',
'Content-Type': 'application/json'
});
api_url: string = 'http://localhost:5001';
constructor(private http: Http) { }
private getJson(response: Response) {
return response.json().results;
}
checkForError(response: Response): Response {
if (response.status >= 200 && response.status < 300) {
return response;
} else {
var error = new Error(response.statusText);
error['response'] = response;
Observable.throw(error);
}
}
get(path: string, params: URLSearchParams): Observable<any> {
return this.http
.get(`${this.api_url}${path}/`, { headers: this.headers })
.map(this.checkForError)
.catch(err => Observable.throw(err))
.map(this.getJson);
}
连接控制台
也许您应该尝试回溯(或向前追踪)问题: 首先:
this.http.get('/my/hardcoded/url').subscribe();
问题可能出现在标题、插入的url或任何地方。在
checkForError
中,在Observable.throw(error)
之前应该有一个返回map(getJson)
应该是map(this.getJson)
。在调用subscribe()
之前,可观察对象不做任何事情。由于subscribe()
失败,因此无法发出请求。请从开发人员的“网络”选项卡中提供一些屏幕截图tools@G不管怎样,get请求应该启动控制台错误跟踪,以跟踪问题。
this.http.get('/my/hardcoded/url').subscribe();