2017-10-13 13 views
1

oracle dbからデータを取得して表示しようとしています。私はエクスプレスAPIとノードを使用してサービスを作成し、それを正常に実行することができました。 データをフェッチして角型コンポーネントに割り当てる角度サービスを作成しましたが、角度変数にJSON応答をマップできません。下記のコードをチェックして、角度component.tsで変更する必要があるものを教えてください。また、htmlでその変数を使用する方法もあります。oracleからangle2変数へのJSON応答の変換

JSONのOracle DBからのデータ:

[{"COUNT":27}] 

角度サービス:

getCount(): Promise<String[]> { 
    return this.http.get(this.heroesUrl) 
       .toPromise() 
       .then(response => response.json().data) 
       .catch(this.handleError); 
    } 

角度component.ts

dataGS : String[]; 
getData(): void { 
    this.dataService 
     .getCount() 
     .then(dataGS => this.dataGS = dataGS); 

答えて

0

ようInterpolationの助けを借りてこれを表示することができますに。だから、代わりに:

.then(response => response.json().data) 

行います

.then(response => response.json()) 

今すぐあなたの配列を取得します。 jitenderによって提案されたように、あなたはあなたの応答を繰り返すことができます。

<div><p *ngFor="let d of dataGS ">{{d}}</p></div> 
0

getCount(): Promise<String[]> { 
    return this.http.get(this.heroesUrl) 
       .toPromise() 
       .then(response => { 
        response.json().map(function(item) { 
          return item['COUNT']; 
         }) 
         }) 
       .catch(this.handleError); 
    } 
01についてあなたのhtml内

<div><p *ngFor="let d of dataGS ">{{d}}</p></div> 
+0

私はエラーを取得していないが、私はこの場合に – user2662882

+0

チェック更新ANS結合HTMLテンプレートに何を使用する必要があり、私はこの行の応答を疑います – jitender

+0

はまだ得ていないのです – user2662882

0

あなたは、角度でtemplate bindingsの助けを借りてこれを達成することができます。

例 - dbからデータを取得した後、コンポーネントにはthis.dataGS = [{"COUNT":27}]が返されます。次に、あなたのhtml templateあなたはあなたの応答が財産dataを持っていない、それだけで、アレイの

<div>{{dataGS[0].count}}</div> 
+0

これはhtmlテンプレートでこれを使用している間に下にエラーが発生しています heroes.component.html:3エラーTypeError:未定義のプロパティ '0'を読み取ることができません Object.eval [viewResearch](0120): の場合:でcheckAndUpdateView(view.ts:413) at callViewAction(view.ts:767) execComponentViewsActionで(view.ts:700)checkAndUpdateViewで (view.ts:413)callViewActionで (view.ts:767)execEmbeddedViewsActionで (view.ts:726)checkAndUpdateViewで (view.ts:410) – user2662882

+0

これを最初に初期化します。[ngOnInit]またはコンストラクタの空の配列としてdataGS = [] 'を返します –

+0

tsファイルをコンパイルするときに以下のエラーが発生しました node_modules/rxjs/Subject.d.ts(16,22):エラーTS2415:Class 'Subject 'は、基底クラス' Observable 'を間違って拡張します。 プロパティ 'lift'のタイプは互換性がありません。 タイプ '(オペレータ:オペレータ)=>オブザーバブル'はタイプ '(オペレータ:オペレータ)=>オブザーバブル'に割り当てられません。 タイプ 'Observable 'はタイプ 'Observable 'に割り当てられません。 タイプ 'T'はタイプ 'R'に割り当てられません。 – user2662882