我正在研究一个反应SPA。每次此webApp通过Ajax
从服务器请求数据时,服务器都会检查会话是否超时,如果是,则服务器将errorCode USER_NOT_LOGGED_IN
返回给webApp。当webApp获得此errorCode时,它应该跳转到login
页面。
我想在Http服务中实现这个逻辑,这样我就可以“写一次”。
httpsService:
axios(httpOptions).then(response => {
let data = response.data
if (data) {
switch (data.code) {
case 'OK':
resolve(data.data)
break
case 'USER_NOT_LOGGED_IN':
case 'CSRF_FAILED':
// goto login
break
.......
成分:
export default class Home extends Component {
test = () => {
post('test/', {
cellphone: '100001',
password: '6666666'
}).then(data => {
console.log('ok', data)
}, error => {
console.log('error', error)
})
}
render() {
return <div>
Home
<button onClick={this.test}>testHttp</button>
</div>
}
}
现在的问题是如何在httpsService
中更改路由器状态。我应该在React中这样做吗?