欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue 统一封装http请求

程序员文章站 2022-05-04 19:21:43
// http.js统一封装接口/* * @Author * @Date */import axios from 'axios'import { Message } from 'element-ui'const token ='你自己的token'// create an axios instanceconst http = axios.create({ baseURL: '/api', timeout: 80000 // request timeout}) // reque...
// http.js统一封装接口
/*
 * @Author
 * @Date
 */
import axios from 'axios'
const token ='你的token'
// create an axios instance
const http = axios.create({
  baseURL: '/api',
  timeout: 80000 // request timeout
})
 
// request interceptor
service.interceptors.request.use(
  config => {
    // Do something before request is sent
    if (token) {
      // 让每个请求携带token-- ['X-Token']为自定义key
      config.headers.Authorization = token 
    }
    return config
  },
  error => {
    // Do something with request error
    // console.log("出错啦",error)
    Promise.reject(error)
  }
)
 
// response interceptor
service.interceptors.response.use(
  response => response,
  error => {
    console.log('err' + error) // for debug
    return Promise.reject(error)
  }
)
 
export default service
// 2.分模块书写api接口
// 比如在首页,则命名homeHttp.js
// 在homtHttp.js中写上首页中所有要调用的api
import http from '@/utils/http'
// 获取你要的数据
export default {
	getLoginStatus(params) {
		return http({
			url: '/test/testdata/',//自己的接口地址
			method: 'post', //请求方法
			type: 'json'
	}, params) //需要携带的参数
}
// 具体组件中调用api
import homtHttp from "@/api";
 // 获取数据
    getDataTest(data) {
      homtHttp.getLoginStatus(params)
        .then(response => {
          console.log(response.data;)
        })
        .catch(error => {
          this.$message.error("获取失败!");
        });
    },

请先配置了代理转发,具体请移步axios官网
http://www.axios-js.com/zh-cn/docs/

本文地址:https://blog.csdn.net/qyl_0316/article/details/107514711

相关标签: WEB前端开发