Angular的http服务返回的是Observable(可观察数据流),通过订阅来获取可用数据。
订阅方式有:手动订阅(subscript)、异步管道订阅(async)
手工订阅
|
|
|
|
- http请求的发送并不是由get方法触发的,而是subscribe;
- get方法只是定义了一个http请求,请求的发送是通过订阅完成的;
异步管道订阅
|
|
|
|
添加Headers
在定义https请求时,需要添加headers的时候,如下:1234567constructor(private http:Http){ let myHeaders:Headers = new Headers(); myHeaders.append("Autor","tuluffy"); this.products = this.http.get('/products',{headers:myHeaders}) .map((res)=>res.json());}
其他
有些时候Angular启动的端口地址和服务器端口地址不一致,导致所有的http请求失败。我们需要做端口转发。
- 新建转发配置文件,proxy.conf.json:12345{"/api":{"target":"http://localhost:8080"}}
即:将以”/api”开头的请求地址转发到”http://localhost:8080“
修改package.json的start项
1start:"ng serve --proxy-config proxy.conf.json"修改请求的地址
123this.http.get('/products').map((res)=>res.json())改为this.http.get('/api/products').map((res)=>res.json())