Angular 2 Http无法正常工作

时间:2016-11-06 04:33:31

标签: javascript angularjs http angular

我尝试了所有内容,但我无法获取http请求到heroku上的节点服务器。我可以手动点击路线,所以它不是服务器。我会粘贴我的服务和我的页面。

** Class是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是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(),我看到控制台打印,但没有请求显示在heroku上的日志中。控制台中也没有出现错误。

1 个答案:

答案 0 :(得分:1)

确保已在root中导入HttpModule。 我没有看到任何其他可能导致这种情况的事情。为确保http正常工作,您可以在getEntries方法的SubscriptionService中设置一个断点,并按照它引导您的方式。

更新: - 正如@peeskillet所指出的,您的依赖关系没有任何问题。尝试使用更多信息调试和更新您的问题。