牛骨文教育服务平台(让学习变的简单)
博文笔记

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

创建时间:2017-06-27 投稿人: 浏览次数:12735

应用场景:

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)
})



声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。