我有一个在端口8000运行的节点服务器
app.get('/historical/:days' ,(req,res,next){..})
如何从angular(端口4200)从浏览器向节点服务器发出请求? 我做了以下
makeRequest(): void {
this.loading = true;
this.http.get('http://localhost:8000/historical/:day')
.subscribe(data => {
this.data = data;
console.log(this.data)
this.loading = false; });
}
在角度的html侧:
<pre>
<div>
{{makeRequest()}}
</div>
</pre>
当我输入http://localhost:4200/historical/1
时,(其中1表示前一天的历史数据)
没有任何反应
怎么办?
答案 0 :(得分:1)
对于一个我不会从你的HTML调用makeRequest
函数。每次更改检测周期运行时,Angular都会触发此方法(很多api请求)。相反,我会将它包含在你的ngOnInit生命周期钩子
ngOnInit(){
this.makeRequest();
}
由于您的节点服务器在localhost:8000上运行,因此
this.http.get('http://localhost:8000/historical/1').subscribe(...);
应该有效。如果你想点击localhost:4200来获取api请求,你需要将你的api调用从localhost:4200代理到localhost:8000。 Angular CLI proxy docs