当前位置:首页 > VUE

Vue调接口怎么实现

2026-01-22 19:23:29VUE

Vue调用接口的实现方法

在Vue中调用接口通常使用axiosfetch等HTTP客户端库,以下是具体实现方式:

安装axios

通过npm或yarn安装axios依赖:

npm install axios
# 或
yarn add axios

基本请求封装

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

Vue调接口怎么实现

import axios from 'axios'

const service = axios.create({
  baseURL: 'https://your-api-domain.com', // 接口基础路径
  timeout: 5000 // 请求超时时间
})

// 请求拦截器
service.interceptors.request.use(
  config => {
    // 可在此处添加token等全局headers
    config.headers['Authorization'] = 'Bearer your_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 login(data) {
  return request({
    url: '/user/login',
    method: 'post',
    data
  })
}

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

组件中调用接口

在Vue组件中使用封装好的接口:

Vue调接口怎么实现

import { login, getUserInfo } from '@/api/user'

export default {
  methods: {
    async handleLogin() {
      try {
        const res = await login({ username: 'admin', password: '123456' })
        console.log('登录成功', res)

        const userInfo = await getUserInfo()
        console.log('用户信息', userInfo)
      } catch (error) {
        console.error('请求失败', error)
      }
    }
  }
}

环境变量配置

在项目根目录创建.env.development.env.production文件管理不同环境接口地址:

# .env.development
VUE_APP_BASE_API = '/dev-api'

# .env.production
VUE_APP_BASE_API = '/prod-api'

修改request.js中的baseURL

baseURL: process.env.VUE_APP_BASE_API

跨域处理

开发环境可通过vue.config.js配置代理:

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://target-domain.com',
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      }
    }
  }
}

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

相关文章

Vue论坛实现

Vue论坛实现

Vue论坛实现步骤 项目初始化 使用Vue CLI或Vite创建Vue 3项目。安装必要依赖如vue-router、axios、pinia/vuex。 npm create vue@latest v…

Vue实现lagger页面

Vue实现lagger页面

Vue实现懒加载页面的方法 懒加载(Lazy Loading)是一种优化技术,用于延迟加载页面或组件,直到它们真正需要显示时才加载。以下是几种在Vue中实现懒加载页面的常见方法: 使用Vue Rou…

Vue gitbook 实现

Vue gitbook 实现

Vue 与 GitBook 集成实现 将 Vue 集成到 GitBook 中可以通过插件或自定义构建流程实现,以下是具体方法: 使用 gitbook-plugin-vue 插件 安装插件到 Git…

Vue 实现登出

Vue 实现登出

Vue 实现登出的方法 在 Vue 应用中实现登出功能通常涉及清除用户认证信息、重定向到登录页面或主页,并可能调用后端 API 注销会话。以下是几种常见的实现方式: 清除本地存储的认证信息 大多数前…

Vue实现手机推送

Vue实现手机推送

Vue 中实现手机推送的方法 在 Vue 项目中实现手机推送功能,通常需要结合第三方推送服务(如 Firebase Cloud Messaging、极光推送等)或原生移动端能力(通过 Cordova/…

Vue实现几行滚动

Vue实现几行滚动

Vue实现多行滚动效果 实现多行滚动效果可以通过CSS结合Vue的动态绑定完成。以下是几种常见实现方式: CSS动画实现 <template> <div class="scr…