angular – 任何想法如何为此函数添加标题?

前端之家收集整理的这篇文章主要介绍了angular – 任何想法如何为此函数添加标题?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
任何想法如何添加标题到下面显示功能?我创建了登录服务,我得到响应状态200.然而,当我尝试发送GET请求时,我得到加载资源失败:服务器响应状态为403(禁止).

func() {
    return this.http.get('/data',)
        .map(response => response.json())
        .subscribe(response2 => this.response2 = response2);
}

我的GET:

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;
    }


问题是后端期待令牌以令牌132083128901302的形式发送但是我发送了承载132083128901302.在将承载更改为令牌后,一切正常.

解决方法

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模块使用拦截器.它易于实现,应用程序中的代码更少,更易于管理.

猜你在找的Angularjs相关文章