当我尝试向外部服务器https://serwer.com/api拦截器发送请求时,我有ionic4和angular7,但在localhost上工作正常
在chrome调试器中,对外部的请求没有带有令牌的自定义标头,但对本地的请求却具有
。新的ionic 4入门应用程序
import { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpErrorResponse } from '@angular/common/http';
import { Observable, throwError } from 'rxjs';
import { catchError } from 'rxjs/operators';
import { Storage } from '@ionic/storage';
import { from } from 'rxjs';
@Injectable()
export class TokenInterceptor implements HttpInterceptor {
constructor(public storage: Storage) {}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const observable = from(this.storage.get('token'));
observable.subscribe((params) => {
request = request.clone({
setHeaders: {
'X-Authentication-Token': params
}
});
return next.handle(request).pipe(catchError((error, caught) => {
console.log(error);
return throwError(error);
}) as any);
});
return observable;
}
}
登录
return await this.http
.post('https://staging.com/api/login', {
email: 'demo@example.com',
password: 'Password123'
})
.toPromise();
}```