2016-08-25 17 views
2

簡単な例を動作していないHTTPにヘッダを追加し、それが働いていない:角度2 RC5要求が

let headers = new Headers(); 
headers.append('Authorization', 'Test'); 
let options = new RequestOptions({ 
    headers: headers, 
    body: {}, //This body empty fix #10668 
}); 
this.http.get('backend url another external domain', options) 
    .subscribe((res:Response) => { 
    console.log(res); 
}); 

ヘッダーを要求に追加されていません。

私が呼び出すURLが外部の内部的なものであることに気付きました。

ヘッダーマップは、相対パスを使用してローカルドメインでのみ送信されるのはなぜですか?

+0

わからないが、多分あなたはCORSの問題を扱っている以下のようにヘッダで更新されていることを確認していませんか? – Mikk

答えて

0

はそれがCORSの問題だ

let body = JSON.stringify({ dataToSend }); 
let headers = new Headers({ 'Content-Type': 'application/json' }); 
let options = new RequestOptions({ headers: headers }); 

return this.http.post('Url', body, options) 
       .map(this.extractData) 
       .catch(this.handleError); 

}

+0

申し訳ありませんが、あなたはものを送ろうと思っていました。 Mikkは正しいです、あなたのサーバーはおそらくコスを許可していません – mpilliador

0

を試してみてください。 JAX-RSを使用している場合、角度

0

に問題なし、CorsFilterが

@Provider 
public class CORSFilter implements ContainerResponseFilter { 
    @Override 
    public void filter(final ContainerRequestContext requestContext, 
         final ContainerResponseContext cres) throws IOException { 
     cres.getHeaders().add("Access-Control-Allow-Origin", "*"); 
     cres.getHeaders().add("Access-Control-Allow-Headers", "login, origin, X-Requested-With, content-type, accept, authorization"); 
     cres.getHeaders().add("Access-Control-Allow-Credentials", "true"); 
     cres.getHeaders().add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD"); 
     cres.getHeaders().add("Access-Control-Max-Age", "1209600"); 
    } 
} 
関連する問題