热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

axios(get、post)请求中的@requestBody@requestParams以及headers的使用,请求拦截器、响应拦截器的封装

axiospost请求传递request-bodyrequest-queryheaders(get或者不直接使用get、post使用axios道理方法都类似,注意:get没有请求体



axios post 请求传递request-body request-query headers(get 或者不直接使用get、post使用axios 道理方法都类似,注意:get没有请求体,如果要用get方法,后端就不能用@requestBody来接收,相应可以改为@requestParams接收)

在这里插入图片描述

self.$axios.post('/api/ui/ombs/login',
{//request-body
password: self.ruleForm.password,
username: self.ruleForm.username
},
{//request-query
params:{
code:self.ruleForm.checkCode
},
headers:{
'Content-type':'application/json'
}
}
)

axios请求拦截器封装headers token等

在这里插入图片描述


// 添加请求拦截器,在请求头中加token
axios.interceptors.request.use(cOnfig=> {
if(store.state.xaiot_token){
if(config.method === 'post'){
config.headers['usid']=`${store.state.xaiot_token}`
if(config.headers['Content-Type'] === undefined)
config.headers['Content-Type']='application/json'
else
config.headers['Content-Type']=config.headers['Content-Type']
if(config.headers['Accept'] === undefined)
config.headers['Accept']='application/json'
else
config.headers['Accept']=config.headers['Accept']
}
}
return config;
}, error => {
// 对请求错误做些什么
return Promise.reject(error);
});

响应拦截器

在这里插入图片描述

// http response 拦截器
axios.interceptors.response.use(
respOnse=> {
if(response.data.success === false)
switch (response.data.error_code) {
case 10013:
Message({duration:1000,message:response.data.error_msg,type:'warning',onClose:res =>{
//清空token并跳转
store.commit('set_xaiot_token_key','')
store.commit('set_xaiot_token','')
router.replace({
path: '/login',
query: {redirect: router.currentRoute.fullPath}//登录成功后跳入浏览的当前页面
})
}})
break;
}
return response;
},
error => {
console.log()
if (error.response) {
switch (error.response.status) {
case 401:
Message({duration:1000,message:'请重新登录,正在前往登录页...',type:'warning',onClose:res =>{
//清空token并跳转
store.commit('set_xaiot_token_key','')
store.commit('set_xaiot_token','')
router.replace({
path: '/login',
query: {redirect: router.currentRoute.fullPath}//登录成功后跳入浏览的当前页面
})
}})
break;

}
}
return Promise.reject(error)
})



推荐阅读
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • This pull request introduces the ability to provide comprehensive paragraph configurations directly within the Create Note and Create Paragraph REST endpoints, reducing the need for additional configuration calls. ... [详细]
  • 本文介绍如何使用 Angular 6 的 HttpClient 模块来获取 HTTP 响应头,包括代码示例和常见问题的解决方案。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 本文探讨了在使用 Ajax 发送请求时,安卓浏览器出现的重复请求问题。该问题仅出现在安卓设备上,而 iOS 和 PC 端均无此现象。具体表现为服务端接收到多个重复的请求,导致操作逻辑混乱。 ... [详细]
  • 本文探讨了在使用Selenium进行自动化测试时,由于webdriver对象实例化位置不同而导致浏览器闪退的问题,并提供了详细的代码示例和解决方案。 ... [详细]
  • 对象自省自省在计算机编程领域里,是指在运行时判断一个对象的类型和能力。dir能够返回一个列表,列举了一个对象所拥有的属性和方法。my_list[ ... [详细]
  • 解决FCKeditor应用主题后上传问题及优化配置
    本文介绍了在Freetextbox收费后选择FCKeditor作为替代方案时遇到的上传问题及其解决方案。通过调整配置文件和调试工具,最终解决了上传失败的问题,并对相关配置进行了优化。 ... [详细]
  • Kubernetes 持久化存储与数据卷详解
    本文深入探讨 Kubernetes 中持久化存储的使用场景、PV/PVC/StorageClass 的基本操作及其实现原理,旨在帮助读者理解如何高效管理容器化应用的数据持久化需求。 ... [详细]
  • 深入理解Lucene搜索机制
    本文旨在帮助读者全面掌握Lucene搜索的编写步骤、核心API及其应用。通过详细解析Lucene的基本查询和查询解析器的使用方法,结合架构图和代码示例,带领读者深入了解Lucene搜索的工作流程。 ... [详细]
  • 本文详细介绍如何使用CSS自定义HTML5视频播放器的样式,涵盖常见属性及跨浏览器兼容性问题。发布时间:2020-09-14 14:46:29;来源:亿速云;阅读量:58;作者:小新。 ... [详细]
  • 本文介绍如何在Spring Boot项目中集成Redis,并通过具体案例展示其配置和使用方法。包括添加依赖、配置连接信息、自定义序列化方式以及实现仓储接口。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • Hadoop发行版本选择指南:技术解析与应用实践
    本文详细介绍了Hadoop的不同发行版本及其特点,帮助读者根据实际需求选择最合适的Hadoop版本。内容涵盖Apache Hadoop、Cloudera CDH等主流版本的特性及应用场景。 ... [详细]
  • 本教程详细介绍了如何使用 TensorFlow 2.0 构建和训练多层感知机(MLP)网络,涵盖回归和分类任务。通过具体示例和代码实现,帮助初学者快速掌握 TensorFlow 的核心概念和操作。 ... [详细]
author-avatar
yoyokk99的秋天
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有