在Android设备上的离子2中不使用授权工作HTTP请求



我有两种类型的REST API。
1.免费REST API(无验证(
2.与授权的REST API

对于一种类型的HTTP请求而没有任何问题。
但是对于带有授权作品的REST API在浏览器中,但在Android设备中不起作用。

我使用以下代码:

  let req:RequestOptions=new RequestOptions( {
        method: RequestMethod.Get,
        url: AppGlobal.OAUTH.USER_AUTHORIZATION_URI,
    } );
   req.headers = new Headers( {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer ' + this.access_token
    } );
 return this.http.request( new Request( req ) )
        .map( res => {
            return res.json().message || res.json();
        } )
        .catch( this.handleError )

从Angular

导入HTTP

import {headers,http,wendesp}来自'@angular/http'

在构造函数中

构造函数( 私人jwtservice:jwtservice,私人http:http({}

设置标头

private setHeaders(): Headers {
    let headersConfig = {
      'Content-Type': 'application/json',
    };
    if (this.jwtService.getToken()) {
      headersConfig['Authorization'] = `${this.jwtService.getToken()}`;
    }
    return new Headers(headersConfig);
  }
 get(route): Observable<any> {
    return this.http.get(AppEnvironment.apiUrl + route, {
      headers: this.setHeaders()
    }).map( res => {
            return res.json().message || res.json();
        } )
        .catch( this.handleError )
 post(route): Observable<any> {
    return this.http.get(AppEnvironment.apiUrl + route, {
      headers: this.setHeaders()
    }).map( res => {
            return res.json().message || res.json();
        } )
        .catch( this.handleError )

最新更新