Javascript 如何在请求发送之前拦截xmlhttprequest并执行一些api调用
在请求被发送之前,如何拦截xmlhttprequest并进行一些验证或进行一些api调用 因为我想集成jwt过期的逻辑,在这里我验证jwt是否过期,如果是,则调用令牌api并设置为本地存储,然后执行其他api,这样用户状态将是持久的,我使用xmlhttpsrequest 我不知道在发送或打开时在哪里放置逻辑Javascript 如何在请求发送之前拦截xmlhttprequest并执行一些api调用,javascript,jquery,ajax,reactjs,xmlhttprequest,Javascript,Jquery,Ajax,Reactjs,Xmlhttprequest,在请求被发送之前,如何拦截xmlhttprequest并进行一些验证或进行一些api调用 因为我想集成jwt过期的逻辑,在这里我验证jwt是否过期,如果是,则调用令牌api并设置为本地存储,然后执行其他api,这样用户状态将是持久的,我使用xmlhttpsrequest 我不知道在发送或打开时在哪里放置逻辑 xhr.send = function(data) { const rsc = this.onreadystatechange; this.onreadystat
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);
};
}
xhr.send=函数(数据){
const rsc=this.onreadystatechange;
this.onreadystatechange=函数(){
如果(this.readyState==4&&this.status>=400&&this.status<600){
让el=typeof this.response==“object”?JSON.stringify(this.response):this.response;
}
if(this.readyState==4&&this.status==401){
console.log(‘会话销毁’)d
}否则如果(rsc){
返回rsc.apply(这是参数);
}
};
返回send.apply(此参数为参数);
};
}
> > > p>在到期后还原令牌,需要考虑几个重要事项。例如,需要再次发送失败的请求。我可以推荐你使用恢复到期后的令牌需要考虑一些重要的事情。例如,需要再次发送失败的请求。我可以推荐你使用 我知道使用axios,但我对xmlhttprequest印象深刻,我的应用程序在xmlhttprequest上运行我知道使用axios,但我对xmlhttprequest印象深刻,我的应用程序在xmlhttprequest上运行