如何在 Typescript 和 angular 2 中向 http.get 或 http.post 添加标题? [英] How I add Headers to http.get or http.post in Typescript and angular 2?

查看:19
本文介绍了如何在 Typescript 和 angular 2 中向 http.get 或 http.post 添加标题?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

getHeroes (): Observable<Heros[]> {
    return this.http.get(this.heroesUrl)
      .map(this.extractData)
      .catch(this.handleError);
  }

在哪里添加标题以及如何添加?寻找一个简单的例子.

Where I add the headers and how? looking for a simple example.

推荐答案

您可以定义一个 Headers 对象与 HTTP 键/值对字典,然后将其作为参数传递给 http.get()http.post() 像这样:

You can define a Headers object with a dictionary of HTTP key/value pairs, and then pass it in as an argument to http.get() and http.post() like this:

const headerDict = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Access-Control-Allow-Headers': 'Content-Type',
}

const requestOptions = {                                                                                                                                                                                 
  headers: new Headers(headerDict), 
};

return this.http.get(this.heroesUrl, requestOptions)

或者,如果是 POST 请求:

Or, if it's a POST request:

const data = JSON.stringify(heroData);
return this.http.post(this.heroesUrl, data, requestOptions);

从 Angular 7 开始,你必须使用 HttpHeaders 类而不是 Headers:

Since Angular 7 and up you have to use HttpHeaders class instead of Headers:

const requestOptions = {                                                                                                                                                                                 
  headers: new HttpHeaders(headerDict), 
};

这篇关于如何在 Typescript 和 angular 2 中向 http.get 或 http.post 添加标题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆