面对用jquery和angular处理observable的问题

时间:2018-02-20 14:16:19

标签: jquery ajax angular refresh-token

我需要在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函数不在这里调用。

0 个答案:

没有答案