赞
踩
我的个人网站漫岛采用的是前后端分离,当用户进行敏感操作且其token过期时,需要后台接口返回特定的状态码401。然后前端使用axios的拦截器根据响应的状态码将用户导入到对应的页面。
后台返回特定状态码我使用的是http_response_code
方法,再配合exit
,即可返回状态码401并且给予一定的错误信息说明。
http_response_code(401);
exit(json_encode(error([], '登录过期,请重新登录'), JSON_UNESCAPED_UNICODE));
着重说明的是,如果不使用exit
的话,响应的状态码仍然是200
。
附上axios的相应拦截代码作为参考:
axios.interceptors.response.use( response => { return response; }, error => { if(error.response) { switch(error.response.status) { case 401: alert("长时间未活动掉线了,请重新登录"); store.dispatch('setExit'); router.push('/welcome'); break; case 404: router.push('*'); break; case 500: router.push('/500'); break; default: router.push('/500'); } } return Promise.reject(error.response.data) });
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。