Angular HTTP服务

使用@angular/http

要使用Angular的HTTP库,我们首先需要导入HttpModule在,这是一个便于使用的模块集合。

...
import { HttpModule } from '@angular/http';
...
@NgModule({
  imports: [
  HttpModule
  ],
})

在组件中使用HTTP服务

import { Http, Response } from '@angular/http';
...
export class HttpComponent {
  constructor(private http: Http){
    
  }

  makeGet(): void {
    this.http.get('http://jsonplaceholder.typicode.com/posts/1')
      .subscribe((res: Response) => {
        this.data = res.json();
      });
  }
}

发起HTTP请求的方式非常简明:调用this.http.get并传入URL作为GET请求的参数。

http.get会返回一个Observable对象。我们可以使用subscribe订阅变化(类似于在一个promise上使用then)。

当http.get从服务器返回一个流时,他就会发出一个Response对象。我们用json方法提取出响应体并解析成一个Object,然后将这个Object赋值给this.data。

.subscribe同样可以处理失败和流完结的情况,只要分别在第二和第三个参数中传入一个函数就可以了。

发送一个POST请求

使用@angular/http发起POST请求与发起GET请求非常类似,仅仅多了一个额外的参数:请求体。

makePost(): void {
  this.http.post(
    'http://jsonplaceholder.typicode.com/posts/1',
    JSON.stringify({
      body: 'bar',
      title: 'foo',
      userId: 1
    }))
    .subscribe((res: Response) => {
      this.data = res.json();
    });
}

PUT/PATCH/DELETE/HEAD请求

http.put和http.patch分别用于PUT和PATCH请求,并且它们都带有一个URL和一个请求体。

http.delete和http.head分别用于DELETE和HEAD请求,并且它们都带有一个URL(没有请求体)。

转载于:https://my.oschina.net/u/3057435/blog/1189296

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值