2017-12-17 18 views
0

私はAngular APIリクエストでヘッダーにx-api-keyを渡すにはどうすればよいですか?

service.ts

import { Injectable } from '@angular/core'; 
import { Http, Headers, RequestOptions, Response } from '@angular/http'; 
import { Observable } from 'rxjs/Observable'; 
import 'rxjs/add/operator/map'; 

@Injectable() 
export class InsuranceServiceService { 

    public token: string; 
    constructor(private http: Http) { 
    const currentUser = JSON.parse(localStorage.getItem('currentUser')); 
    this.token = currentUser && currentUser.token; 
    } 

    createAuthorizationHeader(headers: Headers) { 
    headers.append('Content-Type', 'application/json'); 
    headers.append('x-api-key', `xxxxxxxxxxxxxxxxxxxx`); 
    } 

    sendOTP(data: object): Observable<Object[]> { 
    const header = new Headers(); 
    this.createAuthorizationHeader(header); 
    return this.http.post('http://my-omain.com/', data, 
    { 
     headers: header 
    }) 
    .map((response: Response) => response.json()); 
    } 

} 

下に示すように、ヘッダにx-api-keyヘッダを送信しようとしています。しかし、私は次のエラーを取得しています:

Request header field x-api-key is not allowed by Access-Control-Allow-Headers in preflight response.

この問題を解決する方法? x-api-keyを渡す別の方法はありますか?

答えて

1

これは、サーバー側の問題であり、あなたは

+2

これは、具体的な解決策ではありません「CORSヘッダーを許可する」を検索し、必要なヘッダを許可するようにサーバーを構成する必要があります。なぜそれを答えとして追加するのですか?コメントする必要がありますIMO –

+0

Thx @amdこれは役に立ちます – Hadi