我将所请求的Url保存在localstorage中,重定向到身份服务器,这个重定向回我的根URL,然后我想导航到之前保存的URL.
我在守卫中保存网址:
canActivate(
next: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Observable<boolean> {
const hasAccessToken$ = Observable.of(this.oAuthService.hasValidAccessToken());
const setRedirect$ = hasAccessToken$
.filter(isAllowed => !isAllowed)
.do(() => localStorage.setItem('login.redirect', state.url)) // save requested url for later redirect
.do(() => this.oAuthService.initImplicitFlow());
setRedirect$.subscribe();
return hasAccessToken$;
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试在我的app.component.ts中重定向:
ngOnInit() {
this.oAuthService.tryLogin({ onTokenReceived: () => this.redirect() }); // try to parse token from url
}
private redirect() {
const url = localStorage.getItem('login.redirect');
console.log(url);
this.router.navigateByUrl(url);
}
Run Code Online (Sandbox Code Playgroud)
我的路由看起来像这样:
const routes: Routes = [
{
path: 'files',
loadChildren: './folder-page/folder-page.module#FolderPageModule',
canActivate: [AuthGuard]
},
{ …Run Code Online (Sandbox Code Playgroud) 我有一个 golang REST API,它实现了gin-contrib/cors. 但是当我调用 POST 请求时,预检请求 (OPTIONS) 返回 404 结果。
这是实现的片段:
engine := gin.New()
group := engine.Group("/api/v1")
// Recovery middleware recovers from any panics and writes a 500 if there was one.
group.Use(gin.Recovery())
// Set cors and db middleware
engine.Use(cors.New(cors.Config{
AllowOrigins: []string{"*"},
AllowMethods: []string{"*"},
AllowHeaders: []string{"*"},
AllowCredentials: true,
MaxAge: 12 * time.Hour,
}))
// Register routes
group.POST("/customers", ctrl.SendRequest)
Run Code Online (Sandbox Code Playgroud) 我有这样的json响应.
{
"response": {
"data": {
"customers": [{
"customerNumber": "123",
"customerName": "ABC",
"customeraddresse": [{
"address": "test"
}]
}, {
"customerNumber": "345",
"customerName": "CDS",
"customeraddresse": [{
"address": "test1"
}]
}]
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在做这样的请求来获取响应数据.它将被退回,因为我已经检查过了.
public getData(): Promise<any> {
let payload = JSON.stringify( ... );
let headers = new Headers({ 'Content-Type': 'application/json'});
return this.http.post(this.url, payload, { headers: headers })
.toPromise()
.then(res => {
this.response_data = res.json().response.data;
return this.response_data;
})
.catch(this.handleError);
}
Run Code Online (Sandbox Code Playgroud)
但问题是,我想获取customerNumber和customerName的值,并将它们显示在列表中
在此示例中,有两个客户,因此此标记应呈现两次:
<div>
<div>CustomerNumber</div>
<div>CustomerName</div>
</div>
Run Code Online (Sandbox Code Playgroud)