AngularJS 中的 $http 服务中的 config 属性用法详解

阅读时长 6 min read

AngularJS 是一个流行的前端框架,经常被用于构建单页面应用(SPA)。在使用 AngularJS 进行前端开发时,开发人员通常会遇到需要发送后端请求的情况。这时,我们就会用到 AngularJS 内置的 $http 服务。

$http 服务用于发送 HTTP 请求。它具有众多配置选项,其中一个重要的选项是 config 属性。这篇文章将对 $http 服务中的 config 属性进行详细介绍和解释。

config 属性

config 属性是一个与请求相关的配置对象。它包含了我们想要发送请求时的各种参数。config 对象的结构如下:

method

请求方法。它可以是以下任意一种:

  • GET
  • POST
  • PUT
  • DELETE
  • HEAD
  • OPTIONS
  • PATCH

url

请求 URL。可以是绝对 URL,也可以是相对 URL。如果是相对 URL,则会自动加上当前页面的 URL。

params

查询参数。一个对象,其中的属性会被拼接成查询字符串添加到 URL 后面。

上面的代码将会发送一个 GET 请求,URL 为 /api/users?firstname=John&lastname=Doe。

data

请求的 payload。一个对象,它会被转换成 JSON 字符串,然后作为请求体发送到服务器。

上面的代码将会发送一个 POST 请求,URL 为 /api/users,请求体为 {"name":"John"}。

headers

请求头。一个对象,其中的属性代表请求头字段的名称,属性值代表字段的值。

上面的代码将会发送一个 GET 请求,并在请求头中添加两个字段:Content-Type: application/json 和 Authorization: Bearer abc123。

transformRequest 和 transformResponse

transformRequest 和 transformResponse 都是函数类型的选项,它们分别用于修改请求发送前和请求接收后的数据。它们都需要返回一个修改后的数据。

上面的代码将会发送一个 POST 请求,URL 为 /api/users,请求体为 {"name":"John","age":25}。接收到响应后,它会将响应的数据转换成对象,并将其中的 age 属性加上 5。

timeout

超时时间。一个整数,以毫秒为单位。如果请求在指定时间内没有得到响应,则会被视为超时,并且会触发一个错误。

上面的代码将会发送一个 GET 请求,并设置超时时间为 5 秒钟。

cache

是否缓存响应。一个布尔值。如果设置为 true,则响应会被缓存。

上面的代码将会发送一个 GET 请求,并将响应缓存起来。

responseType

响应类型。一个字符串。它可以是以下任意一种:

  • json
  • text
  • blob
  • arraybuffer

上面的代码将会发送一个 GET 请求,并要求响应的类型为 JSON。

示例代码

下面是一个示例代码,它演示了如何使用 $http 服务以及如何设置 config 属性。

上面的代码演示了如何在控制器中使用 $http.get 方法来获取用户信息。它还展示了如何设置 cache 属性来缓存响应。

Source: FunTeaLearn,Please indicate the source for reprints https://funteas.com/post/67c110b6314edc2684878850