首先我想知道网址是错误的,但事实证明它是正确的。 这是github api作为我的测试网址
我把它放在chrome中,它会返回欲望结果。
其次我想知道我的代码是否错误
constructor(private fb: FormBuilder, private _userService: UserService, private _http:Http) {
this._http
.get('https://api.github.com/search/repositories?q=ng2&page=1&per_page=10')
.map((res: Response) => res.json())
.catch((res: Response) => {
return Observable.of({items: [], totalCount: 0, error: res.json()});
})
.subscribe(d => {
console.log(d);
})
}
此代码始终收到此错误消息:
404 - 未找到未找到集合'存储库'
但可以在我的Chrome中访问此网址。
我发现我的代码没有任何问题。
我终于找到了为什么会这样。
因为我将InMemoryWebApiModule添加到我的模块中。
但我不知道这里的根本原因是什么
有人可以告诉我吗?答案 0 :(得分:1)
**
**
在UserService
:
export class UserService {
constructor(private _http: Http) { }
getSomething() {
return this._http.get('https://api.github.com/search/repositories?q=ng2&page=1&per_page=10')
.map((res: Response) => res.json())
}
}
在您的组件中,我建议您将方法放在ngOnInit
而不是构造函数中:
ngOnInit() {
this._userService.getSomething()
.subscribe(d => console.log(d);
}
以下是一些信息:Difference between OnInit and Constructor
请记住在班上实施OnInit ......
export class YourClass implements OnInit
我真的建议你看看Tour Of Heroes - Http
EDIT!我查了一下,在这篇文章中我对你的代码所做的更改,在Chrome和Firefox中都有效!见下文
这里有一名工作人员...... Plunk