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

相关文章

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.