当前位置: 首页 > news >正文

vue中axios请求篇

vue中如何发起请求?

利用axios来发起请求,但是前期需要配置

首先安装axios

可以使用npm、yarn等进行安装

  1. npm安装方式
npm install axios -sava //在项目文件夹中打开cmd或者终端进行安装依赖
  1.  yarn安装方式
yarn add axios

引入axios。我一般是在src下创建一个utils文件夹,在其中新建一个request.js放置封装好的axios

 2.创建实例

// 创建实例
const instance = axios.create()// 创建实例后修改默认值
axios.defaults.baseURL = process.env.NODE_ENV == 'development' ? 'http://127.0.0.1:8081' : 'https://api.example.com' // 默认请求地址,需根据环境判断请求的路径
axios.defaults.timeout = 10000 // 超时时间,单位毫秒
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded' // post请求头的设置

 3.请求拦截

/*** 请求拦截器* 每次请求前,如果存在token则在请求头中携带token*/
axios.interceptors.request.use(config => {LoadingBar.start()// 添加tokenconst token = getToken()token && (config.headers.Authorization = "Bearer " + token)return config},error => Promise.error(error)
)

4. 响应拦截 

/*** 响应拦截器* 每次请求后,判断请求状态码是否正确,及数据做处理*/
axios.interceptors.response.use(/*** 传输层:接口正常或异常,用http状态码* 业务层:业务正常或异常,用自定义状态码*/// 请求成功res => {LoadingBar.stop()// HTTP 状态码if (res.status !== 200) {return Promise.reject(res)}// 业务状态码let code = res.data.codeif (!code || code === 2000) {// 无code,则请求的是html页面;有code,则返回请求的数据return Promise.resolve(res.data)}errorHandle(code, res.data.msg)return Promise.reject(false)},// 请求失败error => {LoadingBar.stop()const { response } = errorif (response) {// 请求已发出,但是不在2xx的范围 errorHandle(response.status, response.data.message)return Promise.reject(response)} else {tip('网络出现故障,请稍后再试')}}
)

5. 错误处理 

/*** 请求失败后的错误统一处理* @param {Number} status 请求失败的状态码*/
const errorHandle = (status, msg) => {// 状态码判断switch (status) {// 2002: 用户名/密码错误case 2002:tip('用户名或密码错误!')break// 4003: token过期,清除token并跳转登录页case 4003:toLogin("登录信息过期")break// 其他状态码...default:tip('后台维护中,请稍后再试')}
}/**
* 提示函数
*/
const tip = msg => {// 使用UI框架自带的错误弹框即可Vue.prototype.$msg.error(msg)
}/*** 跳转登录页* 携带当前页面路由,以便在登录完成登录后返回当前页面*/
const toLogin = async (msg) => {// 移除token、用户信息// 跳转登录页router.replace({path: '/login',query: {redirect: router.currentRoute.fullPath}})
}

使用 axios

 1. 创建api接口

  以user模块为例,在src目录下新建api文件夹,用来存放项目的所有接口请求,新建user.js,代码如下

import axios from '@/utils/request'/*** @description: 用户登录* @param {String} username 用户名* @param {String} password 密码(aes加密)*/
export const userLogin = params => {return axios.post('/user/login', params)
}
// 其他user接口
...

页面使用

import { userLogin } from '@/api/user'userLogin({username: this.username,password: this.password, // 记得加密QAQ
}).then(res => {this.$msg.success('登录成功')
})

不封装单独使用

<script>//页面引入
import axios from 'axios'export default {data() {return {url:'https://xxxxxxxxxxxx.com/index.php?xxxxx'},},methods: {getVipAsklist(){axios.get(this.url).then(res => {console.log(res);if(res.data.result =='1'){this.asklist = res.data.qa_lsitthis.asklist = this.asklist.map((item)=>{return {title:item.title,content:item.content.replace(/\"/g, "&quot;")}})console.log(typeof this.asklist[0].content)this.agrement = res.data.xieyireturn}this.$message.error(res.msg)})},}
}
</script>

完美结束~

相关文章:

vue中axios请求篇

vue中如何发起请求? 利用axios来发起请求&#xff0c;但是前期需要配置 首先安装axios 可以使用npm、yarn等进行安装 npm安装方式 npm install axios -sava //在项目文件夹中打开cmd或者终端进行安装依赖 yarn安装方式 yarn add axios 引入axios。我一般是在src下创建一个u…...

Springboot2.0 上传图片 jar包导出启动(第二章)

目录 一&#xff0c;目录文件结构讲解二&#xff0c;文件上传实战三&#xff0c;jar包方式运行web项目的文件上传和访问处理&#xff08;核心知识&#xff09;最后 一&#xff0c;目录文件结构讲解 简介&#xff1a;讲解SpringBoot目录文件结构和官方推荐的目录规范 1、目录讲解…...

添加YDNS免费的ipv6动态域名解析

背景 又到了一年一度的dns域名到期&#xff0c;寻找替代了&#xff0c;前几年用了阿里、华为的免费域名&#xff0c;支持了几个搭建在NAS上的微服务&#xff1b;一旦涉及到域名续费&#xff0c;价格就比首年上去了不少&#xff0c;所以&#xff0c;打算找个长期的免费域名。 搜…...

爬虫异常处理之如何处理连接丢失和数据存储异常

在爬虫开发过程中&#xff0c;我们可能会遇到各种异常情况&#xff0c;如连接丢失、数据存储异常等。本文将介绍如何处理这些异常&#xff0c;并提供具体的解决代码。我们将以Python语言为例&#xff0c;使用requests库进行网络请求和sqlite3库进行数据存储。 1. 处理连接丢失 …...

KVM虚拟化ubuntu

KVM&#xff08;Kernel-based Virtual Machine&#xff09;是一种基于Linux内核的虚拟化技术&#xff0c;它将Linux内核作为虚拟机的底层操作系统&#xff0c;利用硬件虚拟化支持创建和管理虚拟机。KVM虚拟化技术被广泛应用于云计算、虚拟化服务器、虚拟化桌面等场景。 KVM虚拟…...

模拟电子技术基础学习笔记三 PN结

采用不周的掺杂工艺&#xff0c;将P型半导体与N型半导体制作在同一块硅片上&#xff0c;在它们的交界面就形成PN结。 扩散运动 物质总是从浓度高的地方向浓度低的地方运动&#xff0c;这种由于浓度差而产生的运动称为扩散运动。 空间电荷区 - 耗尽层 漂移运动 在电场力的作…...

java基础-----第七篇

系列文章目录 文章目录 系列文章目录一、什么是字节码?采用字节码的好处是什么?1.java中的编译器和解释器:2.采用字节码的好处:二、Java中的异常体系一、什么是字节码?采用字节码的好处是什么? 1.java中的编译器和解释器: Java中引入了虚拟机的概念,即在机器和编译程…...

useEffect 不可忽视的 cleanup 函数

在 react 开发中&#xff0c; useEffect 是我们经常会使用到的钩子&#xff0c;一个基础的例子如下&#xff1a; useEffect(() > {// some code here// cleanup 函数return () > {doSomething()} }, [dependencies])上述代码中&#xff0c; cleanup 函数的执行时机有如下…...

vue3:使用:批量删除功能

场景&#xff1a;vue中使用el-table,常需要记住上一页所勾选的数据&#xff0c;批量删除操作&#xff0c;或者弹窗分页勾选&#xff0c;进行第一页勾选&#xff0c;在调后端接口选择第二页勾选其他数据。 1、element-ui 的table表格可以轻松实现多选的功能&#xff0c;只要在表…...

Scala中的样例类和样例对象和JAVA存根类

Scala中的样例类和样例对象 在 Scala 中&#xff0c;样例类&#xff08;case class&#xff09;和样例对象&#xff08;case object&#xff09;都是用于定义不可变数据类型的特殊类和对象。它们被广泛用于模式匹配、代数数据类型&#xff08;Algebraic Data Types&#xff09…...

【0218】当SIGQUIT kill掉stats collector后,stats collector如何保存最终统计数据

1. stats collector可被哪些信号给kill? stats collector进程的主体函数是 PgstatCollectorMain(),该函数内部完成了stats collector进程的信号注册、现有统计文件读取、消息处理等任务。 忽略通常与postmaster中的某些操作绑定的所有信号,SIGHUP和SIGQUIT除外。 注意,我们…...

httplib 与 json.hpp 结合示例

httplib 与 json.hpp 结合示例 1、使用POST 接口&#xff0c;发送 登陆 请求 客户端发送 {nlohmann::json jsonOfCollectionInfo;jsonOfCollectionInfo["user_id"] "zhang";jsonOfCollectionInfo["password"] "123456";httplib::…...

RK3288安卓7.1开机上电到显示logo需要在3s内完成

需求&#xff1a; 从上电到开始开机logo有一段黑屏时间&#xff0c;这个黑屏时间大概在6s左右&#xff0c;给客户体验很不好&#xff0c;现在需要将这段黑屏时间缩短到2-3s左右 思路&#xff1a; 因为只需要早点显示logo&#xff0c;其实整体从上电到开机动画到安卓系统启动整体…...

Maven之hibernate-validator 高版本问题

hibernate-validator 高版本问题 hibernate-validator 的高版本&#xff08;邮箱注解&#xff09;依赖于高版本的 el-api&#xff0c;tomcat 8 的 el-api 是 3.0&#xff0c;满足需要。但是 tomcat 7 的 el-api 只有 2.2&#xff0c;不满足其要求。 解决办法有 2 种&#xff…...

C++--动态规划其他问题

1.一和零 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度&#xff0c;该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素&#xff0…...

PostgreSQL 查询语句大全

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…...

扫盲:常用NoSQL数据库

前言 关系型数据库产品很多&#xff0c;如 MySQL、Oracle、Microsoft SQL Sever 等&#xff0c;但它们的基本模型都是关系型数据模型。 非关系型数据库又称为&#xff1a;NoSQL &#xff0c;没有统一的模型&#xff0c;而且是非关系型的。 常见的 NoSQL 数据库包括键值数据库、…...

MPI之数据打包和解包

MPI_Pack 和 MPI_Unpack 它们可以将源数据打包成二进制格式以便于传输&#xff0c;或者将二进制格式的数据解包成目标数据。这对函数通常用于在 MPI 应用程序中进行异构系统间的通信&#xff0c;即两个系统之间使用不同的二进制格式进行交互通信。 打包&#xff08;序列化&…...

9.2作业

QT实现闹钟 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QTimerEvent> #include<QDateTime> #include<QLineEdit> #include<QLabel> #include<QPushButton> #include <QTextToSpeech> QT_BEGIN_NAMES…...

数据库建设命名规范

1、数据库库表命名规范 1.1 数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线_组成&#xff0c;命名简洁明确&#xff0c;多个单词用下划线_分隔,一个项目一个数据库&#xff0c;多个项目慎用同一个数据库全部小写命名&#xff0c;禁止出现大…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

【Oracle APEX开发小技巧12】

有如下需求&#xff1a; 有一个问题反馈页面&#xff0c;要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据&#xff0c;方便管理员及时处理反馈。 我的方法&#xff1a;直接将逻辑写在SQL中&#xff0c;这样可以直接在页面展示 完整代码&#xff1a; SELECTSF.FE…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

jmeter聚合报告中参数详解

sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample&#xff08;样本数&#xff09; 表示测试中发送的请求数量&#xff0c;即测试执行了多少次请求。 单位&#xff0c;以个或者次数表示。 示例&#xff1a;…...

02.运算符

目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&&#xff1a;逻辑与 ||&#xff1a;逻辑或 &#xff01;&#xff1a;逻辑非 短路求值 位运算符 按位与&&#xff1a; 按位或 | 按位取反~ …...

在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南

在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南 背景介绍完整操作步骤1. 创建Docker容器环境2. 验证GUI显示功能3. 安装ROS Noetic4. 配置环境变量5. 创建ROS节点(小球运动模拟)6. 配置RVIZ默认视图7. 创建启动脚本8. 运行可视化系统效果展示与交互技术解析ROS节点通…...

跨平台商品数据接口的标准化与规范化发展路径:淘宝京东拼多多的最新实践

在电商行业蓬勃发展的当下&#xff0c;多平台运营已成为众多商家的必然选择。然而&#xff0c;不同电商平台在商品数据接口方面存在差异&#xff0c;导致商家在跨平台运营时面临诸多挑战&#xff0c;如数据对接困难、运营效率低下、用户体验不一致等。跨平台商品数据接口的标准…...

如何做好一份技术文档?从规划到实践的完整指南

如何做好一份技术文档&#xff1f;从规划到实践的完整指南 &#x1f31f; 嗨&#xff0c;我是IRpickstars&#xff01; &#x1f30c; 总有一行代码&#xff0c;能点亮万千星辰。 &#x1f50d; 在技术的宇宙中&#xff0c;我愿做永不停歇的探索者。 ✨ 用代码丈量世界&…...

生产管理系统开发:专业软件开发公司的实践与思考

生产管理系统开发的关键点 在当前制造业智能化升级的转型背景下&#xff0c;生产管理系统开发正逐步成为企业优化生产流程的重要技术手段。不同行业、不同规模的企业在推进生产管理数字化转型过程中&#xff0c;面临的挑战存在显著差异。本文结合具体实践案例&#xff0c;分析…...