axios全局请求参数设置,请求及返回拦截器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/panyox/article/details/73800241

应用场景:

1,每个请求都带上的参数,比如token,时间戳等。

2,对返回的状态进行判断,比如token是否过期

代码如下:

axios.interceptors.request.use(
		config => {
			var xtoken = getXtoken()
			if(xtoken != null){
				config.headers['X-Token'] = xtoken
			}
			if(config.method=='post'){
				config.data = {
					...config.data,
					_t: Date.parse(new Date())/1000,
				}
			}else if(config.method=='get'){
				config.params = {
					_t: Date.parse(new Date())/1000,
					...config.params
				}
			}
			return config
		},function(error){
			return Promise.reject(error)
		}
	)
axios.interceptors.response.use(function (response) {
	// token 已过期,重定向到登录页面
	if (response.data.code == 4){
		localStorage.clear()
		router.replace({
                        path: '/signin',
                        query: {redirect: router.currentRoute.fullPath}
                    })
	}
	return response
}, function (error) {
	// Do something with response error
	return Promise.reject(error)
})



阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页