2016-11-06 6 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' 클래스는 그 타입을 지정하고 있습니다. 형식을 그대로 둘 수 있으며 형식이 동일 할 것입니다 (형식이 암시 될 것입니다). –

관련 문제