我需要在angular 5应用程序中使用jquery dataTables。我正面临刷新令牌的问题。下面是我用来实现此代码的代码:
sendRequest() {
const requestObject = {
'url': '/getUsers',
'type': 'GET',
'beforeSend': self.refreshToken(),
'error': function (xhr, error, thrown) {
if(xhr.status === 401) {
return self.refreshToken().concatMap(() => {
self.sendRequest();
})
}
}
}
以下是我刷新令牌的代码:
refreshToken(req, next) {
const headers = new HttpHeaders()
.set('Content-Type', 'application/x-www-form-urlencoded');
const body = new HttpParams()
.set('refresh_token', localStorage.getItem('refreshToken'));
this._http.post('/refreshtoken', body.toString(), {headers}).do(
(data) => {
const header = `Bearer ${(<any>data).accessToken}`;
const newRequest = req.clone({ headers: req.headers.set('Authorization', header)});
return next.handle(newRequest);
})
}
但是使用上述方法我永远无法调用刷新令牌请求。请让我知道我在这里缺少什么。
我在想do
函数不在这里调用。