Angular 请求中未显示标题

Angular 请求中未显示标题,angular,http-headers,Angular,Http Headers,最近,我在头文件和接收RESTAPI传递的数据方面遇到了一些小问题。下面是我的UserService,它使用getUserData方法向API发送一个带有经过身份验证的用户令牌的头,服务器检查它是否正确,并传递用户数据,用户数据应通过以下方式接收:“Content-Type”,“application/json” 好的,这是angular2用户服务 import { Injectable } from '@angular/core'; import { Router, ActivatedRout

最近,我在头文件和接收RESTAPI传递的数据方面遇到了一些小问题。下面是我的UserService,它使用getUserData方法向API发送一个带有经过身份验证的用户令牌的头,服务器检查它是否正确,并传递用户数据,用户数据应通过以下方式接收:
“Content-Type”,“application/json”

好的,这是angular2用户服务

import { Injectable } from '@angular/core';
import { Router, ActivatedRoute, Params } from '@angular/router';
import { Http, Headers, Response, RequestOptions } from '@angular/http';
import { Observable } from 'rxjs';
import 'rxjs/add/operator/toPromise';

import { User } from '../../models/user';

@Injectable()

export class UserService {

    public apiUrl: string = 'http://127.0.0.1:8000/api'; // without a slash
    public userData: any = localStorage.getItem('currentUser');
    public token:any = JSON.parse(this.userData);
    public result: any;
    private headers: any;
    private request: any;
    private handleError:any = 0;

    constructor( private http: Http, private route: ActivatedRoute ) {}


    getUserData():Promise<Array<User>>{

        this.headers = new Headers();
        this.headers.append('Authorization', 'Bearer {'+ this.token.token +'}');
        this.headers.append('Content-Type', 'application/json');


        this.request = new RequestOptions({headers:this.headers});

        return this.http.get( this.apiUrl + "/get/active/user-data/",  this.request)
        .toPromise()
        .then(( response ) => {
            console.log(response.json());
            debugger;
            return response.json().data as User[];

        })
        .catch(this.handleError);

    }



}

我已经在邮递员那里查过了,一切都很好……:)

我试过了,只是做了些小改动,效果不错。让我们试试下面的方法

import { Injectable } from '@angular/core';
import { Router, ActivatedRoute, Params } from '@angular/router';
import { Http, Headers, Response, RequestOptions } from '@angular/http';
import { Observable } from 'rxjs';
import 'rxjs/add/operator/toPromise';

import { User } from '../../models/user';

@Injectable()

export class UserService {

    public apiUrl: string = 'http://127.0.0.1:8000/api'; // without a slash
    public userData: any = localStorage.getItem('currentUser');
    public token:any = JSON.parse(this.userData);
    public result: any;
    private headers: any;
    private request: any;
    private handleError:any = 0;

    constructor( private http: Http, private route: ActivatedRoute ) {}


    getUserData():Promise<Array<User>>{


        private globalHeaders: Headers = new Headers();     
        globalHeaders.append('Content-Type','application/json');
        globalHeaders.append('Authorization', 'Bearer {'+ this.token.token +'}');


        return this.http.get( this.apiUrl + "/get/active/user-data/",  {headers: this.globalHeaders})
        .toPromise()
        .then(( response ) => {
            console.log(response.json());
            debugger;
            return response.json().data as User[];

        })
        .catch(this.handleError);

    }



}
从'@angular/core'导入{Injectable};
从'@angular/Router'导入{Router,ActivatedRoute,Params};
从'@angular/Http'导入{Http,Headers,Response,RequestOptions};
从“rxjs”导入{Observable};
导入“rxjs/add/operator/toPromise”;
从“../../models/User”导入{User};
@可注射()
导出类用户服务{
公共apirl:string='1〕http://127.0.0.1:8000/api“;//没有斜线
public userData:any=localStorage.getItem('currentUser');
公共令牌:any=JSON.parse(this.userData);
公开结果:任何;
私有标题:任意;
私人要求:任何;
私有句柄错误:任意=0;
构造函数(专用http:http,专用路由:ActivatedRoute){}
getUserData():承诺{
private globalHeaders:Headers=newheaders();
append('Content-Type','application/json');
append('Authorization','Bearer{'+this.token.token+'}');
返回this.http.get(this.apirl+“/get/active/user data/”,{headers:this.globalHeaders})
.toPromise()
。然后((响应)=>{
log(response.json());
调试器;
以用户[]的身份返回response.json().data;
})
.接住(这个.把手错误);
}
}

基本上,标题是不可变的。
import { Injectable } from '@angular/core';
import { Router, ActivatedRoute, Params } from '@angular/router';
import { Http, Headers, Response, RequestOptions } from '@angular/http';
import { Observable } from 'rxjs';
import 'rxjs/add/operator/toPromise';

import { User } from '../../models/user';

@Injectable()

export class UserService {

    public apiUrl: string = 'http://127.0.0.1:8000/api'; // without a slash
    public userData: any = localStorage.getItem('currentUser');
    public token:any = JSON.parse(this.userData);
    public result: any;
    private headers: any;
    private request: any;
    private handleError:any = 0;

    constructor( private http: Http, private route: ActivatedRoute ) {}


    getUserData():Promise<Array<User>>{


        private globalHeaders: Headers = new Headers();     
        globalHeaders.append('Content-Type','application/json');
        globalHeaders.append('Authorization', 'Bearer {'+ this.token.token +'}');


        return this.http.get( this.apiUrl + "/get/active/user-data/",  {headers: this.globalHeaders})
        .toPromise()
        .then(( response ) => {
            console.log(response.json());
            debugger;
            return response.json().data as User[];

        })
        .catch(this.handleError);

    }



}