使用axios封装网络请求

  1. 创建axios实例
  2. 设置请求拦截
  3. 设置响应拦截
  4. 导出方法实例

注:以下方法是通用版,对于拦截里面的具体处理方法可以根据实际情况自行处理

import axios from 'axios'

// 1.创建axios实例
const request = axios.create({
    
    
	// 可以配置,也可以不配置
	baseurl:'',    // 基本路径
	timeout: 2000   // 请求时间,超过这个时间就会报错
})

// 2.设置请求拦截
request.interceptors.request.use(
	config => {
    
    
		// 判断是否有token等必须的信息
		const loginToken = localStorage.getItem('token')
		if(loginToken){
    
    
			return config
		}else{
    
    
			// 执行返回到登录页得到操作
		}
	},
	// 错误处理
	error => {
    
    
		return Promise.reject(error)
	}
)

// 3. 设置响应拦截
request.interceptors.response.use(
	response => {
    
    
		if(response.status === 200){
    
    
			return reponse
		}
		return Promise.reject(response.data.message)
	},
	// 错误处理
	error => {
    
    
		// 可执行不同状态码下对应的错误处理,例如状态码是401表示没有授权
		if(error.response && error.response.status === 401){
    
    
	      // 执行返回到登录页得到操作
	    }
	    return Promise.reject(error)
	}
)

// 4. 导出实例
export default request

猜你喜欢

转载自blog.csdn.net/du_aitiantian/article/details/128952967