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