我尝试了所有内容,但我无法获取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上的日志中。控制台中也没有出现错误。
答案 0 :(得分:1)
确保已在root中导入HttpModule。 我没有看到任何其他可能导致这种情况的事情。为确保http正常工作,您可以在getEntries方法的SubscriptionService中设置一个断点,并按照它引导您的方式。
更新: - 正如@peeskillet所指出的,您的依赖关系没有任何问题。尝试使用更多信息调试和更新您的问题。