当前位置:  开发笔记 > 前端 > 正文

Angular2中的拦截器

如何解决《Angular2中的拦截器》经验,为你挑选了1个好方法。

我正在尝试在Angular2.beta.0上构建一个具有登录机制的演示应用程序,然后所有其他API调用将通过标头发送获取的会话令牌.

在角度1x中,我可以编写一个Interceptor,它会在单独的代码中将标记添加到http标头中,我想知道angular2是否有这种机制或任何其他推荐的方法来执行此操作.



1> 小智..:

必须是请求的HTTP头?Cookies似乎是一个不错的选择:https: //stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage/

通过查看HTTP文档,我们有:

get(url: string, options?: RequestOptionsArgs) : Observable

Performs a request with get http method.

转到RequestOptionsArgs我们有:

headers : Headers

Not Yet Documented

最后登陆Headers.

import {Headers} from 'angular2/http';
var secondHeaders = new Headers({
  'X-My-Custom-Header': 'Angular'
});

所以它应该是这样的:

import {Response} from "angular2/http";
import {RequestOptionsArgs} from "angular2/http";
import {Headers} from "angular2/http";

let token:string = 'my-secret';
this.http.get('your/url',  {
    headers: new Headers({
        'X-My-JWT-Header': 'sweet'
    })
})

查看BaseRequestOptions文档,这是一种以自动方式将此标头附加到每个请求的方法.

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有