[英]How make ajax-request from service?
Please help fix service: 请帮助修复服务:
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
@Injectable()
export class RecordsService {
constructor(private http: Http){ }
getRecords(dateBeginUnix, dateEndUnix): Object {
console.log(dateBeginUnix, dateEndUnix);
let result = this.http.get('http://127.0.0.1:8000/days/' + dateBeginUnix + '/' + dateEndUnix);
console.log('result', result);
return result;
}
}
component: 零件:
export class PanelComponent implements OnInit {
constructor(private recordsService: RecordsService) { }
private modelDateBegin: Object;
private modelDateEnd: Object;
private records: Object;
private data: Object;
displayStatistic() {
this.recordsService
.getRecords(this.modelDateBegin['epoc'], this.modelDateBegin['epoc'])
.subscribe((data: Response) => this.records = data.json());
}
}
Console display follow errormessage: 控制台显示跟随错误消息:
ERROR in /home/kalinin/angular2/rurun/src/app/panel/panel.component.ts (31,10): Property 'subscribe' does not exist on type 'Object'.
/home/kalinin/angular2/rurun/src/app/panel/panel.component.ts(31,10)中的错误:类型“对象”上不存在属性“订阅”。
In component modelDateBegin['epoc'] and modelDateBegin['epoc'] contains unix datestamp. 在组件中,modelDateBegin ['epoc']和modelDateBegin ['epoc']包含unix日期戳。
Address: 地址:
'http://127.0.0.1:8000/days/' + dateBeginUnix + '/' + dateEndUnix
is return data in json-format. 是json格式的返回数据。
But console display errormessage... 但是控制台显示错误消息...
your getRecords should return a Observable
not Object
, only Observable can be subscribe not Object , try this 你的getRecords应该返回一个
Observable
而不是Object
,只有Observable可以订阅而不是Object,试试看
getRecords(dateBeginUnix, dateEndUnix): Observable<any>{
console.log(dateBeginUnix, dateEndUnix);
let result = this.http.get('http://127.0.0.1:8000/days/' + dateBeginUnix + '/' + dateEndUnix);
console.log('result', result);
return result;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.