Angular 9:API呼び出しから返されたネストされたオブジェクトの値を読み取ることができません[未定義]

ゴリンギスト

私はAngular9で2か月しか開発していないので、これが些細なことであれば許してください:)
基本的に、サーバーサイドに移動してオブジェクトを返すAPIを呼び出します。これはPUTリクエストです。リクエストと一緒にデータを渡し、少し何かを取り戻します。

私のサービスからのAPI呼び出し:

  verify(packGuid: string, userGuid: string, pinToVerify: string, device: string)
    :Observable<checkinStartedResponse> {
     
    return this.httpClient.put<checkinStartedResponse>(`package/CheckinStartedAction/${packGuid}/${userGuid}/${pinToVerify}/${device}`, null);

返されると予想されるObservableを強く入力したことがわかります-> checkinStartedResponseしたがって、返されるのはいくつかのプロパティを持つオブジェクトであり、そのうちの1つは別のカスタムオブジェクトです。
import { PINValidation } from './PINValidation';

export interface checkinStartedResponse {
  pinValidation: PINValidation,
  isActionComplete:boolean,
  pageToDisplay: string
}

PIN検証は次のとおりです。

export interface PINValidation {
  attemptsRemaining: number;
  canTryAgain: boolean;
  isPINValid: boolean;
  packageId: string;
}

これが私のサービスからそのverifyPINメソッドを呼び出している私のコンポーネントであり、私が戻したいデータを期待しています。verifyPINにカーソルを合わせると、Observable <checkinStartedResponse>を元に戻したいことがわかります。すごい。

    //try to verify PIN
   this.service.verifyPIN(this.packGuid, this.user.userGuid, this.pinToVerify, this.device)
    .subscribe( (data) => {
      console.log(data.isActionComplete);
    
      this.pinValidationResponse = data.pinValidation;
      this.pinValidationResponse.isPINValid = data.pinValidation.isPINValid;
      this.checkinResponse.pinValidation.isPINValid = data.pinValidation.isPINValid;

      this.passVerficiation = this.pinValidationResponse.isPINValid;
    
    if (this.passVerficiation) {
        console.log("ya");
        this.PINverified.emit(true);
        this.closeModal();
    }


デバッグとConsole.logの使用に関する懸念事項、isActionCompleteとpageToDisplayの値を完全に読み取ることができます。画像を参照しかし、コンポーネント内のネストされたpinValidationオブジェクト内の値を読み取ろうとすると、常に未定義になります。
サーバーコードでデバッグすると、API呼び出しが処理されるのがわかります。だから、それは私が欲しいオブジェクトを返します、私はそれを読むことができません。私のクライアントサイドクラスは、サーバーサイドクラスから作成されました。繰り返しますが、2つのプロパティisActionCompleteとpageToDisplayでデータを取得しますが、このネストされたオブジェクトの値を読み取ることができません。

申し訳ありませんが、私の最初の投稿、私はこれで新しいです:(
デバッグは値を参照してください


小さな更新:PostmanでAPIをテストすると、正しい形式で期待される応答が返されます。
JSONで吐き出すこともできます。

ありがとうございました!!<3

マイケルD

ここに複数の問題があります。

  1. isPINValid!= isPinValidJSオブジェクトのプロパティでは、大文字と小文字が区別されます。APIからの応答にはプロパティisPinValidがありますがisPINValid、応答で定義されていないものを試しいます

  2. オブジェクトの各プロパティを個別に割り当てる必要はありません。オブジェクトを割り当てると、プロパティも割り当てられます。

次を試してください

this.pinValidationResponse: checkinStartedResponse;      // <-- define the type here

this.service.verifyPIN(this.packGuid, this.user.userGuid, this.pinToVerify, this.device)
  .subscribe((data: checkinStartedResponse) => {         // <-- expect the type
    console.log(data.isActionComplete);

    this.pinValidationResponse = data.pinValidation;
    this.passVerficiation = data.pinValidation.isPinValid;    // <-- access `isPinValid` not `isPINValid`

    if (this.passVerficiation) {
      console.log("ya");
      this.PINverified.emit(true);
      this.closeModal();
    }
  });

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Angular2-ネストされた呼び出しで未定義のプロパティ 'subscribe'を読み取ることができません

分類Dev

Angular4ネストされたオブジェクトはnull値エラーを読み取ることができません

分類Dev

Typescript(Angular 8)でsubscribe()が呼び出されたときに返されたオブジェクトの値にアクセスできません

分類Dev

Observableから返されたオブジェクトを入力コンポーネントAngular5として渡すことができません

分類Dev

ブラウザーからangular2でチェックされた値を取得する方法(元の例外に直面:未定義のエラーのプロパティ 'push'を読み取ることができません)

分類Dev

Angular 6 / Typescript HTTP POSTリクエストは、サービスが別のサービスから呼び出されたときに未定義を返します

分類Dev

Angular:インターフェイスでネストされたプロパティを使用すると、未定義のプロパティを読み取ることができません

分類Dev

AngularはAPI呼び出しからのデータを[オブジェクトオブジェクト]として返しますが、コンポーネントでは未定義です

分類Dev

Nativescript Angular: 関数内からオブジェクトを読み取れません (これは未定義ですか?)

分類Dev

$ translateを使用して言語の変更を呼び出すと、「壊れたインターセプターが検出されました:構成オブジェクトが拒否されませんでした」:angular-loading-bar

分類Dev

API呼び出しからサービスを介してコンポーネントに返されるデータはオブジェクトであり、Angularの配列である必要があるようです

分類Dev

Angular 7 [無効]ネストされたオブジェクトのプロパティ値が変更されたときに変更を検出しない

分類Dev

工場でネストされたデータをコントローラーで読み取ることができません(ANGULAR JS)

分類Dev

Angularは配列内のオブジェクトを読み取ることができません

分類Dev

Angular:子コンポーネントで渡されたオブジェクトのプロパティを更新すると、親コンポーネントが更新されますが、その値は更新されません。なぜですか?

分類Dev

Angular:子コンポーネントで渡されたオブジェクトのプロパティを更新すると、親コンポーネントが更新されますが、その値は更新されません。なぜですか?

分類Dev

Angular2FormBuilderおよびネストされたオブジェクトプロパティは未定義を返します

分類Dev

次の2つの呼び出しで最初の呼び出しからの応答を使用するAngular / RXJSネストされたオブザーバブル

分類Dev

Angular 8プロジェクトでオブジェクトハッシュを使用すると、「未定義のプロパティ 'crypto'を読み取れません」エラーが発生します

分類Dev

Angular-ネストされたRESTAPI呼び出しは内部呼び出しのみを返します

分類Dev

Angular 2/4はinitForm()でオブジェクトを読み取ることができません

分類Dev

Angular 8- @ ViewChildは、親コンポーネントで未定義を返します。(ネストされたngIfはなく、ngAfterViewInitで呼び出されます)

分類Dev

Angular JS:コントローラーから2番目のサービスを呼び出し、返されたオブジェクトでDOMを更新するにはどうすればよいですか?

分類Dev

Angular 6 ngrxストアテスト:未定義のIDを読み取ることができません

分類Dev

オブジェクトがAngular2コンポーネントからパラメーターとして渡されたときに呼び出されない外部HTMLファイルのJavaScript関数

分類Dev

Angular Mat AutoCompleteは、バックエンドから返されたオブジェクトのドロップダウンリストを表示/表示しません

分類Dev

Angular-コンポーネントからサービスのメソッドを呼び出すと、未定義が返されます

分類Dev

Angular 6は、提供されたオブジェクトからドロップダウンリスト値を自動的に選択/バインドすることはできません

分類Dev

コンポーネントがHttpサービスメソッドを呼び出すかどうかのAngularユニットテスト:エラー:<spyOn>:スパイするオブジェクトが見つかりませんでした

Related 関連記事

  1. 1

    Angular2-ネストされた呼び出しで未定義のプロパティ 'subscribe'を読み取ることができません

  2. 2

    Angular4ネストされたオブジェクトはnull値エラーを読み取ることができません

  3. 3

    Typescript(Angular 8)でsubscribe()が呼び出されたときに返されたオブジェクトの値にアクセスできません

  4. 4

    Observableから返されたオブジェクトを入力コンポーネントAngular5として渡すことができません

  5. 5

    ブラウザーからangular2でチェックされた値を取得する方法(元の例外に直面:未定義のエラーのプロパティ 'push'を読み取ることができません)

  6. 6

    Angular 6 / Typescript HTTP POSTリクエストは、サービスが別のサービスから呼び出されたときに未定義を返します

  7. 7

    Angular:インターフェイスでネストされたプロパティを使用すると、未定義のプロパティを読み取ることができません

  8. 8

    AngularはAPI呼び出しからのデータを[オブジェクトオブジェクト]として返しますが、コンポーネントでは未定義です

  9. 9

    Nativescript Angular: 関数内からオブジェクトを読み取れません (これは未定義ですか?)

  10. 10

    $ translateを使用して言語の変更を呼び出すと、「壊れたインターセプターが検出されました:構成オブジェクトが拒否されませんでした」:angular-loading-bar

  11. 11

    API呼び出しからサービスを介してコンポーネントに返されるデータはオブジェクトであり、Angularの配列である必要があるようです

  12. 12

    Angular 7 [無効]ネストされたオブジェクトのプロパティ値が変更されたときに変更を検出しない

  13. 13

    工場でネストされたデータをコントローラーで読み取ることができません(ANGULAR JS)

  14. 14

    Angularは配列内のオブジェクトを読み取ることができません

  15. 15

    Angular:子コンポーネントで渡されたオブジェクトのプロパティを更新すると、親コンポーネントが更新されますが、その値は更新されません。なぜですか?

  16. 16

    Angular:子コンポーネントで渡されたオブジェクトのプロパティを更新すると、親コンポーネントが更新されますが、その値は更新されません。なぜですか?

  17. 17

    Angular2FormBuilderおよびネストされたオブジェクトプロパティは未定義を返します

  18. 18

    次の2つの呼び出しで最初の呼び出しからの応答を使用するAngular / RXJSネストされたオブザーバブル

  19. 19

    Angular 8プロジェクトでオブジェクトハッシュを使用すると、「未定義のプロパティ 'crypto'を読み取れません」エラーが発生します

  20. 20

    Angular-ネストされたRESTAPI呼び出しは内部呼び出しのみを返します

  21. 21

    Angular 2/4はinitForm()でオブジェクトを読み取ることができません

  22. 22

    Angular 8- @ ViewChildは、親コンポーネントで未定義を返します。(ネストされたngIfはなく、ngAfterViewInitで呼び出されます)

  23. 23

    Angular JS:コントローラーから2番目のサービスを呼び出し、返されたオブジェクトでDOMを更新するにはどうすればよいですか?

  24. 24

    Angular 6 ngrxストアテスト:未定義のIDを読み取ることができません

  25. 25

    オブジェクトがAngular2コンポーネントからパラメーターとして渡されたときに呼び出されない外部HTMLファイルのJavaScript関数

  26. 26

    Angular Mat AutoCompleteは、バックエンドから返されたオブジェクトのドロップダウンリストを表示/表示しません

  27. 27

    Angular-コンポーネントからサービスのメソッドを呼び出すと、未定義が返されます

  28. 28

    Angular 6は、提供されたオブジェクトからドロップダウンリスト値を自動的に選択/バインドすることはできません

  29. 29

    コンポーネントがHttpサービスメソッドを呼び出すかどうかのAngularユニットテスト:エラー:<spyOn>:スパイするオブジェクトが見つかりませんでした

ホットタグ

アーカイブ