2016-11-06 41 views
0

私はすべてを試しましたが、私はherokuのノードサーバーに出かけるためのhttp要求を受け取ることができません。私は手動でルートをヒットすることができますので、サーバーではありません。私は私のサービスと私のページを貼り付けます。角2のHttpが動作しない

**クラスは、私はコンソールの印刷を参照して、**クラスが呼び出されているdashboard.component.ts

import {Component, ViewEncapsulation} from '@angular/core'; 
import {SubscriptionService} from '../../_services/subscription.service'; 
import 'rxjs/Rx'; 

@Component({ 
    selector: 'dashboard', 
    providers: [SubscriptionService], 
    encapsulation: ViewEncapsulation.None, 
    styles: [require('./dashboard.scss')], 
    template: require('./dashboard.html') 
}) 
export class Dashboard { 
    getData: string; 

    constructor(private subscriptionService: SubscriptionService) { 
    } 

    ngOnInit() { 
    console.log("test!!"); 
    this.subscriptionService.getEntries() 
     .subscribe(data => this.getData = JSON.stringify(data), 
     error => console.log("Error!"), 
     () => console.log("finished!") 
    ); 
    } 
} 

マイngOnInit()であるsubscription.service.ts

import {Http, Response} from '@angular/http' 
import {Injectable} from '@angular/core' 
import 'rxjs/add/operator/map'; 

@Injectable() 
export class SubscriptionService { 

    http:Http; 
    constructor(http:Http){ 
    this.http = http; 
    } 

    getEntries() { 
    return this.http.get('my url here *****').map(res => res.json()); 
    } 
} 

ですヒロクのログにはリクエストは表示されません。また、コンソールにエラーが表示されません。

+0

Chromeインスペクタの[ソース]タブに移動し、[例外時に一時停止する]をオンにして、[キャッチされていない例外で一時停止する]をオンにします。その後、コードを再実行します。エラーが検出されましたか? –

+0

何も現れませんでした。 – Hydtek

答えて

1

HttpModuleをルートにインポートしたことを確認してください。 これを引き起こす可能性のあることは他にありません。 httpが動作していることを確認するには、getEntriesメソッドのSubscriptionServiceにブレークポイントを設定し、それがどこにあるかを調べることができます。

更新:@peeskilletによって指摘されているように、あなたの依存関係に何も問題はありません。詳細をデバッグして質問を更新してみてください。

+1

あなたが見せているものは機能的に同等です。アクセス修飾子を追加するのは短く、クラスプロパティに割り当てるだけです。アクセス修飾子がなければ、プロパティはクラスに追加されず、コンストラクタargはコンストラクタで利用可能です。 –

+0

その場合は、このようにしてはいけません。 http:Http; コンストラクタ(http:http){ this.http = http; } be http:http; コンストラクタ(http){ this.http = http; }? –

+0

いいえ。注入のためのトークンとして 'Http'(コンストラクタ内)が必要です。 'http:Http'クラスはその型だけを指定しています。タイプをオフにしておくことができ、同じ(タイプが暗示される) –

関連する問題