当前位置:首页 > VUE

vue 实现接口调用

2026-03-29 19:25:57VUE

安装 axios 依赖

在 Vue 项目中安装 axios,用于发送 HTTP 请求:

npm install axios

创建 API 封装模块

src 目录下新建 api 文件夹,并创建 request.js 文件封装 axios:

import axios from 'axios';

const service = axios.create({
  baseURL: 'https://api.example.com', // 接口基础地址
  timeout: 5000, // 请求超时时间
});

// 请求拦截器
service.interceptors.request.use(
  config => {
    // 可在此处添加请求头(如 token)
    return config;
  },
  error => {
    return Promise.reject(error);
  }
);

// 响应拦截器
service.interceptors.response.use(
  response => {
    return response.data;
  },
  error => {
    return Promise.reject(error);
  }
);

export default service;

定义具体接口

api 文件夹下创建模块化接口文件(如 user.js):

import request from './request';

export function getUserInfo(params) {
  return request({
    url: '/user/info',
    method: 'get',
    params,
  });
}

export function updateUser(data) {
  return request({
    url: '/user/update',
    method: 'post',
    data,
  });
}

在组件中调用接口

在 Vue 组件中引入并调用接口:

import { getUserInfo, updateUser } from '@/api/user';

export default {
  methods: {
    async fetchData() {
      try {
        const res = await getUserInfo({ id: 1 });
        console.log(res);
      } catch (error) {
        console.error(error);
      }
    },
    async submitData() {
      try {
        await updateUser({ name: 'Vue', age: 18 });
      } catch (error) {
        console.error(error);
      }
    },
  },
  mounted() {
    this.fetchData();
  },
};

环境变量配置

在项目根目录创建 .env.development.env.production 文件,区分开发和生产环境接口地址:

# .env.development
VUE_APP_BASE_API = 'https://dev-api.example.com'

# .env.production
VUE_APP_BASE_API = 'https://api.example.com'

修改 request.js 中的 baseURL

baseURL: process.env.VUE_APP_BASE_API,

跨域处理(开发环境)

vue.config.js 中配置代理:

vue 实现接口调用

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://localhost:3000', // 后端地址
        changeOrigin: true,
        pathRewrite: { '^/api': '' },
      },
    },
  },
};

标签: 接口vue
分享给朋友:

相关文章

vue实现排序

vue实现排序

Vue 实现排序的方法 在 Vue 中实现排序可以通过多种方式完成,以下是一些常见的方法: 使用计算属性排序数组 计算属性非常适合对数据进行排序,因为它会在依赖的数据变化时自动更新。以下是一个示例:…

vue alert实现

vue alert实现

使用 Vue 实现 Alert 组件 在 Vue 中实现 Alert 组件可以通过自定义组件或结合第三方库完成。以下是几种常见方法: 自定义 Alert 组件 创建一个可复用的 Alert 组件,通…

vue实现ssr

vue实现ssr

Vue 实现 SSR(服务端渲染) Vue 的服务端渲染(SSR)允许在服务器端生成完整的 HTML 内容,再发送到客户端,提升首屏加载速度和 SEO 友好性。以下是实现 Vue SSR 的关键步骤和…

vue实现Siri

vue实现Siri

Vue 实现 Siri 风格语音交互 实现类似 Siri 的语音交互功能需要结合语音识别、语音合成和前端交互逻辑。Vue 作为前端框架,可以很好地管理这些功能的交互状态。 语音识别集成 使用 Web…

vue实现快手

vue实现快手

Vue 实现类似快手的功能 Vue.js 是一个渐进式 JavaScript 框架,适合构建复杂的单页应用。要实现类似快手的功能,可以结合 Vue 和相关技术栈进行开发。 核心功能模块 视频流展示…

vue实现换页

vue实现换页

Vue实现页面切换的方法 在Vue中实现页面切换通常可以通过Vue Router来完成。Vue Router是Vue.js官方的路由管理器,用于构建单页面应用(SPA)。以下是几种常见的实现方式:…