我如何拦截xmlhttprequest并进行一些验证或在请求发送之前进行一些api调用
因为我想集成jwt到期的逻辑,在这里我验证jwt是否过期,如果是,则调用令牌api并设置为本地存储,然后执行其他api,这样用户状态将是持久的,我使用xmlhttpsrequest
我不知道将逻辑放置在发送或打开位置
xhr.send = function(data) {
const rsc = this.onreadystatechange;
this.onreadystatechange = function() {
if(this.readyState === 4 && this.status >= 400 && this.status < 600) {
let el = typeof this.response === 'object' ? JSON.stringify(this.response) : this.response;
}
if (this.readyState === 4 && this.status === 401) {
console.log('session destroyes')d
} else if (rsc) {
return rsc.apply(this, arguments);
}
};
return send.apply(this, arguments);
};
}
答案 0 :(得分:0)
要在令牌过期后恢复令牌,您需要考虑一些重要的事情。例如,将需要再次发送失败的请求。我建议您使用my example code for implementation JWT with axios。