Angular 角度订阅HTTPClient Observable,error req.url.toLowerCase不是函数
我正在使用一个服务从url检索数据,我正在另一个组件中使用该服务在前端显示数据 我的服务:Angular 角度订阅HTTPClient Observable,error req.url.toLowerCase不是函数,angular,observable,httpclient,Angular,Observable,Httpclient,我正在使用一个服务从url检索数据,我正在另一个组件中使用该服务在前端显示数据 我的服务: getHttpData(baseurl, prefix?, suffix?, startTime?, endTime?, demo_id?) { return this.http.get(baseurl+ prefix + suffix+ startTime + endTime + demo_id).map( (res: Response) => {return this.da
getHttpData(baseurl, prefix?, suffix?, startTime?, endTime?, demo_id?) {
return this.http.get(baseurl+ prefix + suffix+ startTime + endTime + demo_id).map(
(res: Response) => {return this.data = res;}
)
}
使用该服务的我的组件:
ngOnInit() {
baseurl: 'http://localhost:6666/some/tra/la/la98321';
this.data = this.genHttp.getHttpData(this.baseurl).subscribe(result => {
this.data = result;
console.log('Daten:',this.data);
});
}
但我在控制台中遇到以下错误:
core.js:1633错误类型错误:req.url.toLowerCase不是函数
在HttpXsrfInterceptor.push../node_modules/@angular/common/fesm5/http.js.HttpXsrfInterceptor.intercept
(http.js:2027)
在HttpInterceptorHandler.push../node_modules/@angular/common/fesm5/http.js.HttpInterceptorHandler.handle
(http.js:1407)
在HttpInterceptingHandler.push../node_modules/@angular/common/fesm5/http.js.HttpInterceptingHandler.handle
(http.js:2080)
在MergeMapSubscriber.project(http.js:1158)
在MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber.\u tryNext
(mergeMap.js:117)
在MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/operators/mergeMap.js.MergeMapSubscriber.\u下一步
(mergeMap.js:107)
在MergeMapSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next
(订户:js:93)
在可观察的情况下订阅(scalar.js:5)
在Observable.push../node_modules/rxjs/_esm5/internal/Observable.js.Observable.\u尝试订阅
(见js:176)
在Observable.push../node_modules/rxjs/_esm5/internal/Observable.js.Observable.subscribe
(见js:161)
如何才能检索到没有错误的数据?请尝试一下并告诉我
getHttpData(baseurl, prefix?, suffix?, startTime?, endTime?, demo_id?) {
const url= baseurl+ prefix + suffix+ startTime + endTime + demo_id+'';
return this.http.get(url).map(
(res: Response) => {return this.data = res;}
)
}
请分享你的截取代码你找到解决方案了吗?我早些时候也遇到了同样的错误。我没有正确添加api url,我认为当请求字符串不正确/写得不正确时会发生这种情况。Hanks,我查看了我的后端,得到:localhost:6666/some/tra/la/la98321UndefinedUndefinedUndefinedUndefinedUndefinedUndefinedUndefinedUndefined。。。因此,可选参数似乎被初始化为“未定义”,所以我替换了url并设置了默认值:”,这似乎有效。。。