最近做的vue项目中,前端需要根据http不同状态码,渲染不同的页面。比如请求出错404,服务器内部错误500等。
我们需要做的是根据http返回的的404和500状态码渲染页面。
在main.js使用了axios的拦截器
import Vue from 'vue'
import Vuex from 'vuex'
import axios from 'axios'
import router from './router'
import App from './App'
Vue.use(Vuex);
Vue.prototype.$http = axios;
Vue.prototype.$http.defaults.withCredentials=true;
Vue.prototype.$http.interceptors.response.use(response => {
console.log(response)
if (response.data.resCode== "1000") {
localStorage.clear();
alert(response.data.resMsg)
router.push({
name:'login'
})
}
return response;
}, error => {
if (error && error.response) {
switch (error.response.status) {
case 404:
router.push({name:'error-404'});
// error.message = '请求出错(404)'
break;
case 500:
router.pu