0Pricing
Vue Academy · 课时

使用 Axios 发送 HTTP 请求

使用 Axios 向 API 发送 GET 和 POST 请求

使用 Axios 发送 HTTP 请求 是 CoddyKit 上的免费 Vue Academy 课时。 这是第 1 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Vue Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Vue Academy 课程共包含 3 节课。

与接口通信

大多数实际应用都会通过 HTTP 从后端加载数据。虽然浏览器内置了 fetch,但许多 Vue 项目使用 Axios:它是一种流行的、基于 promise 的 HTTP 客户端,提供更友好的 API、自动 JSON 解析和强大的配置选项。

安装 Axios

使用包管理器将 Axios 添加到项目中,然后在需要的位置导入它。

npm install axios

导入 Axios

导入默认导出,即可开始发送请求。

import axios from "axios"

GET 请求

使用 axios.get 获取数据。它会返回一个 promise,该 promise 解析为响应对象;响应正文位于 response.data 中,并且已经从 JSON 解析完成。

axios.get("https://api.example.com/users")
  .then(response => {
    console.log(response.data)
  })

POST 请求

使用 axios.post 发送数据。第二个参数是请求正文,Axios 会自动将其序列化为 JSON。

axios.post("https://api.example.com/users", {
  name: "Grace",
  email: "grace@example.com"
})

使用 async/await

使用 async/await 可以让 promise 更易读。将函数标记为 async,然后等待请求完成。

async function loadUsers() {
  const response = await axios.get("/api/users")
  return response.data
}

在 Vue 方法中

一种常见模式是从组件方法中调用 Axios,并将结果存储在响应式数据中。

export default {
  data() {
    return { users: [] }
  },
  methods: {
    async fetchUsers() {
      const res = await axios.get("/api/users")
      this.users = res.data
    }
  }
}

请求配置:查询参数

传入 params 对象即可添加查询字符串参数。Axios 会为您构建 URL。

axios.get("/api/users", {
  params: { page: 2, limit: 10 }
})
// requests /api/users?page=2&limit=10

请求配置:请求头

可以通过配置对象发送自定义请求头,例如授权令牌。

axios.get("/api/profile", {
  headers: {
    Authorization: "Bearer " + token
  }
})

基础 URL 配置

在各处重复完整 URL 容易出错。创建一个带有 baseURL 和共享默认设置的 Axios 实例,然后在整个应用中使用它。

import axios from "axios"

export const api = axios.create({
  baseURL: "https://api.example.com",
  timeout: 5000,
  headers: { "Content-Type": "application/json" }
})

// elsewhere: api.get("/users")

其他 HTTP 方法

Axios 支持常见的 HTTP 方法:get、post、put、patch 和 delete。请使用与要执行的操作相匹配的方法。

api.put("/users/1", { name: "Updated" })
api.patch("/users/1", { name: "Patched" })
api.delete("/users/1")

快速检查

测试您对 Axios 请求的理解。

回顾

Axios 是一个基于 promise 的 HTTP 客户端。使用 get、post、put、patch 和 delete,通过配置对象传入 params 和 headers,并优先使用 async/await 以提高可读性。通过 axios.create 创建带有 baseURL 的共享实例,可以让请求保持 DRY。接下来,您将在组件生命周期的适当阶段获取数据。

常见问题解答

「使用 Axios 发送 HTTP 请求」课时是免费的吗?

是的 — 「使用 Axios 发送 HTTP 请求」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Vue Academy 课程的其余内容,请升级到 CoddyKit PRO。 Vue Academy 课程共包含 3 节课。

「使用 Axios 发送 HTTP 请求」这节课中我会学到什么?

使用 Axios 向 API 发送 GET 和 POST 请求 你通过在浏览器中直接运行的动手代码来练习 Vue Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Vue Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Vue Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 3 节。

「使用 Axios 发送 HTTP 请求」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Vue Academy 课中编写并运行代码吗?

能。每节 Vue Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 使用 Axios 发送 HTTP 请求
  2. 生命周期钩子与数据获取
  3. 错误处理与全局拦截器
← 返回 Vue Academy