Ionic 4 Http拦截器仅适用于本地主机请求

时间:2019-06-07 20:37:37

标签: http angular7 ionic4 interceptor

当我尝试向外部服务器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();
    }```

0 个答案:

没有答案