1、封装了一个axios的请求状态拦截的js文件,当状态码是404的时候,跳转到对应路由页面。但是纯js中怎么使用路由呢,this.$router()中的this怎么指向vue的实例对象? 难道在当前文件引入vue在new出来?2、js 代码如下import Axios from "axios";let axios_instance = Axios.create({
...
});
axios_instance.interceptors.response.use(response => { return response
}, err => { if (err && err.response) { switch (err.response.status) { case 404: //this.$router('/error');
err.message = '请求错误,未找到该资源'; break;
}
} return Promise.resolve(err.response)
});
2 回答
慕哥6287543
TA贡献1831条经验 获得超10个赞
可以在js文件里面导入router呀,如:
/* 这个路径就是你的router.js的路径 */import router from "../router";import Axios from "axios";let axios_instance = Axios.create({ ... }); axios_instance.interceptors.response.use(response => { return response }, err => { if (err && err.response) { switch (err.response.status) { case 404: router.push('/error'); err.message = '请求错误,未找到该资源'; break; } } return Promise.resolve(err.response) });
UYOU
TA贡献1878条经验 获得超4个赞
可以在js文件里面导入router呀,如:
/* 这个路径就是你的router.js的路径 */import router from "../router";import Axios from "axios";let axios_instance = Axios.create({ ... }); axios_instance.interceptors.response.use(response => { return response }, err => { if (err && err.response) { switch (err.response.status) { case 404: router.push('/error'); err.message = '请求错误,未找到该资源'; break; } } return Promise.resolve(err.response) });
添加回答
举报
0/150
提交
取消