axios 拦截器
作者:chrispy
//添加请求拦截器axios.defaults.withCredentials=trueaxios.defaults.timeout=10000axios.interceptors.request.use((config)=>{responseStep=responseStep+1constisLoading=config.url.indexOf('&isLoading')>-1if(!isLoading){loadingInstance=
有用 | 无用
// 添加请求拦截器
axios.defaults.withCredentials = true
axios.defaults.timeout = 10000
axios.interceptors.request.use((config) => {
responseStep = responseStep + 1
const isLoading = config.url.indexOf('&isLoading') > -1
if (!isLoading) {
loadingInstance = Loading.service(store.state.LoadingoOptions)
}
return config
}, (error) => {
responseStep = 0
loadingInstance.close()
store.state.isLoading = false
return Promise.reject(error)
})
// 添加响应拦截器
axios.interceptors.response.use((response) => {
if (response && response.data) {
let status = parseInt(response.data.status)
if (status === 200) {
responseStep = responseStep - 1
if (!responseStep) {
responseStep = 0
loadingInstance.close()
}
return response
}
}
}, (error) => {
if (error && error.response && error.response.status === 504) {
Message.error('错误代码504,您可能断网了。')
}
if (error && error.response && error.response.data) {
let status = parseInt(error.response.data.status)
if (status === 401) {
Message.error('未登录')
}
}
// 对响应错误做点什么
return Promise.reject(error)
})
猜你喜欢
您可能感兴趣的文章:
- PHP 发送邮件
- PHPer程序员评“一个PHP程序员的价值”
- php程序员容易犯的10种错误
- php代码中去除空格和其他特殊符号
- PHP导出一个txt文本文件
- PHP的foreach循环
- PHP的运行原理 内幕:PHP是如何显示“你好世界”的?
- php工程师面试题
- php工程师面试题2
- PHP面试题,PHP程序员面试题及答案
- php数组分页
- php四舍五入函数round()
- PHP中$_SERVER的详细参数与说明
- PHP中mysql_connect与mysql_pconnect的区别
- php中print_r、var_dump和var_export
- PHP中strtr和str_replace比较
- Elasticsearch 中文或字符串不支持精准搜索
- mysql 替换replace
- vue 渐隐效果