2017-04-06 13 views
1

最近、ヘッダーにいくつかの小さな問題があり、受信したREST APIのデータを受け取りました。 'Content-Type', 'application/json'ヘッダーが要求に表示されていません

さて、ここでangular2のUserServiceのは

です:だからここでは、認証されたユーザとのAPIヘッダを送信する方法getUserDataと私のUserServiceのは、それが正しいだとして受信されるべきユーザデータを渡す場合は、トークンとサーバのチェックです

enter image description here

そして、ここでヘッダーが送信されます:

ここ
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); 

    } 



} 

は、このコードから結果があります

enter image description here

とAPI:

public function showUserData(Request $request) 
{ 
    $user = $request->header('Authorization'); 

    return response()->json(self::getAuthenticatedUser($user)); 
} 

...私はポストマンでこれをチェックして、すべてが大丈夫だった:)

答えて

0

私は少し変更をしようと、それは私のために働いsの。以下のアプローチを試してみましょう。

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

    } 



} 
関連する問題