angular2上的http get请求错误

时间:2016-12-21 16:36:14

标签: javascript angular typescript ionic2

我试图使用http方法获取请求,我有一些问题来订阅响应。 这是我的服务:

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

@Injectable()
export class ProfileService{
http: any;
url: String;
date: Date;

constructor(http:Http){
this.http = http;
this.date = new Date();
//this.baseurl = 'www.google.com';
}

get_heb_date():String{
var year = this.date.getFullYear();
var month = this.date.getMonth();
var day = this.date.getDay();
//var after_sunset = 1;
//var convert_from_gregorian_to_hebrew = 1;
return this.http.get('http://www.hebcal.com/converter/?fg=json&gy='+year+'&gm='+month+'&gd='+day+'&g2h=1')
.map(res => res.json());
 }}

这是我的组件,我试图获得" GET"请求。

import { Component } from '@angular/core';
import { JewristService } from '../../app/services/jewrist.service';
import { NavController } from 'ionic-angular';
import { ProfileService } from '../../app/services/profile.service';
import 'rxjs/Rx';


@Component({
selector: 'page-profile',
templateUrl: 'profile.html',
providers: [ProfileService]
})
export class ProfilePage {
username: String;
loggedin: Boolean;
date: String;

constructor(public navCtrl: NavController, private _httpservice: ProfileService) {
this.username = 'null';
}
ngOnInit(){
console.log('Profile component is running..');
this._httpservice.get_heb_date().subscribe(
data => this.date = JSON.stringify(data)
 ); }}

我的IDE是Windows上的ATOM,这就是它指定的问题: 物业'订阅'类型'字符串'。

上不存在

2 个答案:

答案 0 :(得分:0)

它应该是Observable。

get_heb_date():Observable<string> // http return Observable<the_result_type>

答案 1 :(得分:0)

问题出在main.ts

platformBrowserDynamic().bootstrapModule(AppModule);

未设置模块的名称。 现在它有效。 感谢。