作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
有什么想法可以将标题添加到下面显示的函数中吗?我创建了登录服务并获得了响应状态 200。但是,当我尝试发送 GET 请求时,我得到了加载资源失败:服务器响应状态为 403(禁止访问)。
func() {
return this.http.get('/data', )
.map(response => response.json())
.subscribe(response2 => this.response2 = response2);
}
我的获取:
get(url: string, options?: RequestOptionsArgs): Observable<Response> {
return super.get(appConfig.apiUrl + url, this.addJwt(options)).catch(this.handleError);
}
private addJwt(options?: RequestOptionsArgs): RequestOptionsArgs {
// ensure request options and headers are not null
options = options || new RequestOptions();
options.headers = options.headers || new Headers();
// add authorization header with jwt token
let currentUser = JSON.parse(localStorage.getItem('currentUser'));
if (currentUser && currentUser.token) {
options.headers.append('Authorization', 'Bearer ' + currentUser.token);
}
return options;
}
解决方案问题是后端期望 token 以 Token 132083128901302
的形式发送,但我发送的是 Bearer 132083128901302
。将 Bearer 更改为 Token 后一切正常。
最佳答案
let headers = new Headers({ 'Authorization': 'Bearer ' + jwt });
let options = new RequestOptions({ headers: headers });
return this.http.get('http://test.dev/get/user', options).map(res => res.json());
我强烈建议您通过 HttpClient 模块使用拦截器。它易于实现,应用程序中的代码更少,更易于管理。
关于angular - 任何想法如何向此功能添加标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46268694/
我是一名优秀的程序员,十分优秀!