未捕获(承诺):TypeError:无法读取angular2 +中未定义的属性“ get”

时间:2019-02-08 09:45:30

标签: angular http get angular-httpclient

我在angular2 +文件中做了一个组件。我想向nodeJs服务器发出http请求。但是,我不断得到->

Uncaught (in promise): TypeError: Cannot read property 'get' of undefined
TypeError: Cannot read property 'get' of undefined

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 { }

1 个答案:

答案 0 :(得分:0)

MachineMergerComponent是一项服务。将其添加到提供商列表下。 (也可以考虑将其重命名为MachineMergerService)

declarations: [  ... ],
providers:    [ MachineMergerComponent ]