当前位置:首页 > 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 函数式组件是一种无状态、无实例的组件形式,适用于简单渲染逻辑的场景。其核心特点是性能高效,适合纯展示型需求。 定义方式 export default { fu…

Vue实现思路

Vue实现思路

Vue 实现思路 Vue 是一个渐进式 JavaScript 框架,适用于构建用户界面。其核心思想是数据驱动和组件化开发。以下是 Vue 实现的主要思路和方法: 数据驱动与响应式 Vue 通过数据绑…

Vue查看全文实现

Vue查看全文实现

Vue 查看全文实现方法 在Vue中实现查看全文功能通常涉及文本截断和展开/折叠操作,以下是几种常见实现方式: 使用CSS控制文本显示 通过CSS的text-overflow和line-clamp属…

Vue实现lagger页面

Vue实现lagger页面

Vue实现懒加载页面的方法 懒加载(Lazy Loading)是一种优化技术,用于延迟加载非关键资源,从而提升页面初始加载速度。在Vue中可以通过以下方式实现懒加载: 路由懒加载 使用Vue Rou…

Vue前端路由实现

Vue前端路由实现

Vue前端路由的实现方式 Vue前端路由通常通过vue-router库实现,它是Vue.js官方的路由管理器,用于构建单页面应用(SPA)。以下是核心实现方法和步骤: 安装vue-router 通过…

vue 实现接口调用

vue 实现接口调用

使用 Axios 进行接口调用 安装 Axios 依赖: npm install axios 在 Vue 组件中引入并使用: import axios from 'axios'; export…