Hydtek
Hydtek

Reputation: 161

Angular 2 Http Get Not Working

I tried everything and I cannot get an http request to go out to my node server on heroku. I can hit the route manually so its not the server. I will paste my service and my page.

**Class is 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());
  }
}

**Class is 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!")
      );
  }
}

My ngOnInit() is being called, I see the console print, but no request shows up in logs on heroku. Also no errors show up in console.

Upvotes: 0

Views: 481

Answers (1)

Jorawar Singh
Jorawar Singh

Reputation: 7621

Make sure you have imported the HttpModule in root. I don't see anything else which can cause this. For make sure http is working you can put a break point in SubscriptionService on getEntries method and follow where it leads you.

Update:- as pointed out by @peeskillet there is nothing wrong with your dependency. try to debug and update your question with more information.

Upvotes: 1

Related Questions