vue2.0中axios请求配置

2024-09-02 17:20

本文主要是介绍vue2.0中axios请求配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

vue2.0中axios请求配置

  • 一、vue2.0项目中
    • 1.配置
    • 2.使用
  • 二、vue2.0+ts项目中如何配置
    • 1.配置
    • 2.使用

一、vue2.0项目中

1.配置

// axios.js
import axios from 'axios';
import { Message } from 'element-ui';
import router from '../../router/index.js';
//创建axios实例const service = axios.create({timeout: 600000, // 请求超时时间withCredentials: false,
});
//请求拦截
service.interceptors.request.use(config => {config.headers['Content-Type'] = 'application/json';config.headers['aiToken'] = JSON.parse(localStorage.getItem('token'));config.url = process.env.VUE_APP_WEB_API + config.url;// get请求缓存处理if (config.params) {config.params.f_rnd = new Date().getTime();} else {config.params = {f_rnd: new Date().getTime(),};}return config;},error => {return Promise.reject(error);}
);//响应拦截器
service.interceptors.response.use(response => {let data = response.data;if (response.config.isExport) {//配置是为了下载返回二进制文档流时候return response;}if (data.code === 200) {return data;} else {if (data.code === 1015) {Message({type: 'error',offset: 12,message: '登录/授权已经过期,请重新登录',duration: 5000,});router.push({ path: '/login' });return;}Message({showClose: true,message: data.message || data.msg,duration: 2000,type: 'error',});return Promise.reject(data);}// return data;},error => {console.log('error:' + error); // 用于调试return Promise.reject(error);}
);export default service;

2.使用

// api.js
import request from '@/assets/js/axios.js';export function wordClould(params) {return request({url: `url`,method: 'get',params,});
}export function adviserWordClould(data) {return request({url: 'url',method: 'post',data,});
}

二、vue2.0+ts项目中如何配置

1.配置

// axios.ts
import axios from 'axios';
import { AxiosResponse, InternalAxiosRequestConfig, AxiosError } from 'axios';
import { Message } from 'element-ui';const request = axios.create({timeout: 50000,withCredentials: false,
});/************************************请求拦截*/
request.interceptors.request.use(//在函数中使用名为 config 的参数,并且该参数必须符合 InternalAxiosRequestConfig<any> 这个自定义类型的定义。function (config: InternalAxiosRequestConfig<any>) {// Do something before request is sentif (config.headers) {config.headers['Authorization'] = 'token';}config.url = process.env.VUE_APP_WEB_API + config.url;return config;},function (error: AxiosError) {// Do something with request errorreturn Promise.reject(error);}
);// 名为 status 的数值属性
interface responseConfig {// 响应结果包含status,0 是成功status: number;
}
/************************************ 响应拦截*/
request.interceptors.response.use(function (response: AxiosResponse<responseConfig>) {if (response.data.status === 200) {return response;}Message.error('后台接口异常,请联系管理员');return Promise.reject(response);},function (error: AxiosError) {return Promise.reject(error);}
);export default request;

2.使用

// types.ts/*** 任意类型的参数*/
export interface paramsType {[key: string]: any;
}
// api.ts
import request from '../utils/axios';
import { paramsType } from '../utils/types';/*** 登录接口* @param userData* @returns*/
export function ApiLogin(data: paramsType) {return request({method: 'POST',url: 'url',data,});
}/*** 获取菜单* @param params* @returns*/
export function APIGetMenu(params: paramsType) {return request({method: 'GET',url: 'url',params,});
}

这篇关于vue2.0中axios请求配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1130581

相关文章

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

详解如何在React中执行条件渲染

《详解如何在React中执行条件渲染》在现代Web开发中,React作为一种流行的JavaScript库,为开发者提供了一种高效构建用户界面的方式,条件渲染是React中的一个关键概念,本文将深入探讨... 目录引言什么是条件渲染?基础示例使用逻辑与运算符(&&)使用条件语句列表中的条件渲染总结引言在现代

详解Vue如何使用xlsx库导出Excel文件

《详解Vue如何使用xlsx库导出Excel文件》第三方库xlsx提供了强大的功能来处理Excel文件,它可以简化导出Excel文件这个过程,本文将为大家详细介绍一下它的具体使用,需要的小伙伴可以了解... 目录1. 安装依赖2. 创建vue组件3. 解释代码在Vue.js项目中导出Excel文件,使用第三

Java实现Excel与HTML互转

《Java实现Excel与HTML互转》Excel是一种电子表格格式,而HTM则是一种用于创建网页的标记语言,虽然两者在用途上存在差异,但有时我们需要将数据从一种格式转换为另一种格式,下面我们就来看看... Excel是一种电子表格格式,广泛用于数据处理和分析,而HTM则是一种用于创建网页的标记语言。虽然两

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

windos server2022里的DFS配置的实现

《windosserver2022里的DFS配置的实现》DFS是WindowsServer操作系统提供的一种功能,用于在多台服务器上集中管理共享文件夹和文件的分布式存储解决方案,本文就来介绍一下wi... 目录什么是DFS?优势:应用场景:DFS配置步骤什么是DFS?DFS指的是分布式文件系统(Distr

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构