我正在使用var date1 ='05/06/2018';
date1=parseInt(date1.split('/').reverse().join(''));
//number 20180605
var date2 = new Date();
date2 = parseInt(date2.toISOString().slice(0,10).replace(/-/g,""));
// number 20180610
//compare
if(date1<date2)alert('in the past');
接口在http请愿书上添加授权标头,
HttpInterceptor
我的app模块
@Injectable()
export class AuthInterceptor implements HttpInterceptor {
constructor(
private localStorage: LocalStorageService,
private sessionStorage: SessionStorageService
) {
}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
if (!request || !request.url || (/^http/.test(request.url) && !(SERVER_API_URL && request.url.startsWith(SERVER_API_URL)))) {
return next.handle(request);
}
const token = this.localStorage.retrieve('authenticationToken') || this.sessionStorage.retrieve('authenticationToken');
if (!!token) {
request = request.clone({
setHeaders: {
Authorization: 'Bearer ' + token
}
});
}
return next.handle(request);
}
}
在本地它可以很好地工作,但在生成@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
HttpClientModule,
VistaModule,
LayoutModule
],
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: AuthInterceptor,
multi: true
}
],
bootstrap: [AppComponent]
})
export class AppModule { }
并在服务器上传时失败。
任何请愿都会获得标题:prod dist
你能帮助我吗?
答案 0 :(得分:0)
声明要在根目录中提供您的拦截器:
@Injectable({
providedIn: 'root'
})
而不是仅仅使用:
@Injectable()
这意味着您的拦截器将在您所有的应用程序中可用,如果您有另一个产品模块,则可能是问题所在。
在以下位置查看更多详细信息:angular providers