【发布时间】:2019-02-08 09:45:29
【问题描述】:
我在 angular2+ 文件中制作了一个组件。我想向 nodeJs 服务器发出一个 http 请求。但是,我不断得到->
Uncaught (in promise): TypeError: Cannot read property 'get' of undefined
TypeError: Cannot read property 'get' of undefined
请注意,我什至无法检索存储在一个函数中并且(无法)在另一个函数中访问的全局变量的值。这是我第一次面对它。
代码-
app.component.ts
import { HttpClient, HttpParams, HttpRequest, HttpEvent } from '@angular/common/http';
@Injectable()
export class MachineMergerComponent implements OnInit {
constructor(private http: HttpClient) {}
onFileLoadTopFive(fileLoadedEvent) {
// -----=================== Top Five Neovis ==================== -------------
this.rhsNameTopFive = [];
this.relationshipInfo = [];
for (var i = 0; i < 5; i++) {
this.rhsNameTopFive.push(this.objectValueAfterConfidence1[i].rhs[0])
console.log("this.rhsNameTopFive = ", this.rhsNameTopFive)
// http request
var relationObj = {
'relationObj1': this.rhsNameTopFive[i]
}
}
console.log("relationObj = ", relationObj);
this.http.get("http://localhost:3003/seekRelationship?relationObj=" + this.rhsNameTopFive[0])
.map(Response => Response)
.catch((err) => {
console.log("err =", err)
return Observable.throw(err);
})
.subscribe((res: Response) => {
console.log("XXXXXXXXXXXX Response on /seekExtraction", res);
this.relationshipInfo[i] = res;
console.log(" this.relationshipInfo[" + i + "]", this.relationshipInfo[i])
})
}
}
app.module.ts
import { HttpClientModule } from '@angular/common/http';
@NgModule({
imports: [
CommonModule,
FormsModule,
// HttpModule ,
HttpClientModule,
],
declarations: [ MachineMergerComponent, ]
})
export class ApiSequenceModule { }
【问题讨论】:
-
使用返回类型编写 API 调用服务以获得最佳实践并在组件中订阅
-
您是否将服务添加到主目录
-
你对组件和服务有混淆吗?
-
是的 .... 这是一个组件,其中我有很多代码、文件上传代码和 http 请求也是我想要的。
标签: angular http get angular-httpclient