我在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 { }
答案 0 :(得分:0)
MachineMergerComponent是一项服务。将其添加到提供商列表下。 (也可以考虑将其重命名为MachineMergerService)
declarations: [ ... ],
providers: [ MachineMergerComponent ]