当前位置:首页 > VUE

vue 怎么实现api

2026-03-09 06:42:37VUE

在 Vue 中实现 API 调用

使用 axios 发起 HTTP 请求

安装 axios 并引入到项目中:

npm install axios

在组件或单独的文件中导入 axios

import axios from 'axios';

发起 GET 请求示例:

axios.get('https://api.example.com/data')
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error);
  });

发起 POST 请求示例:

axios.post('https://api.example.com/data', { key: 'value' })
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error);
  });

封装 API 模块

创建一个专门的 API 模块(如 api.js)集中管理请求:

import axios from 'axios';

const api = axios.create({
  baseURL: 'https://api.example.com',
  timeout: 5000,
});

export const fetchData = () => api.get('/data');
export const postData = (payload) => api.post('/data', payload);

在组件中调用封装好的方法:

import { fetchData, postData } from './api';

fetchData()
  .then(response => {
    console.log(response.data);
  });

postData({ key: 'value' })
  .then(response => {
    console.log(response.data);
  });

使用 Vue 的 async/await 语法

结合 async/await 简化异步代码:

methods: {
  async loadData() {
    try {
      const response = await axios.get('https://api.example.com/data');
      this.data = response.data;
    } catch (error) {
      console.error(error);
    }
  }
}

拦截器处理全局请求和响应

通过 axios 拦截器统一处理请求和错误:

axios.interceptors.request.use(config => {
  config.headers.Authorization = 'Bearer token';
  return config;
});

axios.interceptors.response.use(
  response => response,
  error => {
    if (error.response.status === 401) {
      alert('Unauthorized');
    }
    return Promise.reject(error);
  }
);

使用 Vuex 管理 API 数据

在 Vuex 中调用 API 并更新状态:

// store.js
actions: {
  async fetchData({ commit }) {
    try {
      const response = await axios.get('https://api.example.com/data');
      commit('SET_DATA', response.data);
    } catch (error) {
      console.error(error);
    }
  }
}

组件中触发 Action:

this.$store.dispatch('fetchData');

环境变量配置 API 地址

在项目根目录创建 .env 文件:

VUE_APP_API_URL=https://api.example.com

代码中通过 process.env 访问:

vue 怎么实现api

axios.get(`${process.env.VUE_APP_API_URL}/data`);

标签: vueapi
分享给朋友:

相关文章

vue实现详情

vue实现详情

Vue 实现详情页的常见方法 使用动态路由 在 Vue Router 中配置动态路由参数,通过 $route.params 获取详情 ID。示例路由配置: { path: '/detail/:i…

vue实现api

vue实现api

Vue 实现 API 调用 在 Vue 中调用 API 通常涉及使用 axios 或 fetch 发送 HTTP 请求,并结合 Vue 的响应式特性管理数据。以下是常见的实现方式: 安装 axios…

vue实现插件

vue实现插件

Vue 插件实现方法 Vue 插件通常用于为 Vue 应用添加全局功能或共享功能。以下是实现 Vue 插件的核心步骤: 插件基本结构 Vue 插件需要暴露一个 install 方法,该方法接收 Vu…

vue实现标注

vue实现标注

Vue 实现标注功能的方法 使用 Vue 实现标注功能可以通过多种方式实现,以下介绍几种常见的方法: 1. 使用 HTML5 Canvas 实现标注 Canvas 提供了强大的绘图能力,适合实现复…

vue简单实现

vue简单实现

Vue 简单实现示例 以下是一个使用 Vue.js 创建简单应用的示例,涵盖基本功能如数据绑定、事件处理和组件化。 基础 HTML 结构 <!DOCTYPE html> <ht…

vue实现页面

vue实现页面

Vue 实现页面的基本方法 创建 Vue 项目 使用 Vue CLI 快速初始化项目,运行以下命令安装并创建项目: npm install -g @vue/cli vue create my-pro…