vue+axios全局添加请求头和参数操作
编程学习 2021-07-04 14:06www.dzhlxh.cn编程入门
这篇文章主要介绍了vue+axios全局添加请求头和参数操作,具有很好的参考价值,希望对大家有所帮助。一起跟随长沙网络推广过来看看吧
走登录的接口都会返回一个token值,然后存起来方便之后调接口的时候给后台传过去,传给后台的方式有两种:(具体使用哪种需要和后台商量)
1、放在请求头中
2、放在接口的参数中
1、放在请求头中
狼蚁网站SEO优化代码是从本地cookie中拿token
VueCookie:
// 在封装axios的文件中添加拦截器
// 添加请求拦截器,在请求头中加token
service.interceptors.request.use(
config => {
// 判断本地的cookie中是否有token
if (VueCookie.isKey('token')) {
config.headers.Authorization = VueCookie.get('token')
} else {
// 跳转到登录页面(这里使用router,是因为路由文件引入到了此文件里)
router.push('/login')
}
return config
},
error => {
return Promise.reject(error)
})
这个时候虽然在请求头中放了token,但是后台并拿不到token的值,我们需要在创建axios对象的时候允许请求携带cokie,也可以加到main.js全局里面。
// 放在请求文件中
const service = axios.create({
baseURL: "http://XXXXXXXXX:XXXX",
timeout: 10000,
withCredentials: true // 允许携带cookie
});
// 放在全局main.js中 import axios from "axios"; axios.defaults.withCredentials = true; // 允许携带cookie
2、放在参数中
以下代码是从本地存储localStorage中拿token
// 添加请求拦截器,在参数中加token
service.interceptors.request.use(
config => {
// 将token添加到每一个接口的参数中
// 判断请求的类型:如果是post请求就把默认参数拼到data里面;如果是get请求就拼到params里面
const token = localStorage.getItem('ISTOKEN')
if (localStorage.getItem('ISTOKEN')) {
// 注意:config.method 的判断值必须是小写的post和get
if (config.method === 'post') {
config.data = {
api_token: token,
...config.data
}
} else if (config.method === 'get') {
config.params = {
api_token: token,
...config.params
}
}
} else {
// 跳转到登录页面(这里使用router,是因为路由文件引入到了此文件里)
router.push('/login')
}
return config
},
error => {
return Promise.reject(error)
})
补充知识:Vue,POST请求头'Content-Type':'application/json;',data上传方法
如下所示:
transformRequest 方法说明
以上这篇vue+axios全局添加请求头和参数操作就是长沙网络推广分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持狼蚁SEO。
编程语言
- Win10 PC创意者更新慢速版15048改进内容与已知问题
- 用纯CSS3实现网页中常见的小箭头
- 神舟笔记本问题集锦
- Bellnames常用操作说明
- 揭秘手机淘宝搜索排序的影响因素
- XHTML入门学习教程-网页Head和DTD
- 笔记本光驱保养常用知识
- hzhost虚拟主机系统致命漏洞
- 电脑无线网络出现红色叉叉无线网卡打不开的六
- 16项评比不得不看 机箱哪些功能最实用
- AI怎么绘制一个呲牙的qq表情-
- 红帽指点杆机械键盘 TEX Yoda上手体验测评
- 笔记本电脑保养常识有哪些-笔记本保养常识总结
- cdr怎么设计圆角矩形效果的图标-
- 在XSLT样式表中声明命名空间小结
- Fireworks教程-常用操作技巧总结