2016-10-12 9 views
1

角度、私は自分のサーバーにHTTPのPOSTを送信しようとしている、私はこの方法でそれを実行します。は、安全でないヘッダ「アクセス・コントロール・リクエスト・ヘッダ」に設定して拒否した2

var headers = new Headers({ 'Access-Control-Request-Headers': "Content-Type", 'Content-Type': 'application/json'}); 
let options = new RequestOptions({ headers: headers }); 
console.log(JSON.stringify(library) + " " + SERVER + "/library"); 
this.http.post(SERVER + "/library", JSON.stringify(library), options) 
    .subscribe(data => {console.log(data.json())}); 

が、私はよRefused to set unsafe header "access-control-request-headers"エラーが発生しました。 'Access-Control-Request-Headers': "Content-Type"を使わずにPOSTを送信している場合は、Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight responseを取得しています。誰もがこの問題を解決する方法を知っていますか?少し早いですがお礼を。

+0

設定サーバCORSの設定を。 'Access-Control-Allow-Headers'に' Content-Type'を追加してください –

+0

しかし、私はしました。私は 'options'パラメータにヘッダを持っています。 –

+0

これは、Angular2ではなくサーバー上で構成する必要があります。 –

答えて

1

私は、サーバー側で次のコードを追加することによってこの問題を解決しました:

public class CORSFilter implements Filter { 

    public void doFilter(ServletRequest req, ServletResponse res, 
      FilterChain chain) throws IOException, ServletException { 
     HttpServletResponse response = (HttpServletResponse) res; 
     response.setHeader("Access-Control-Allow-Origin", "*"); 
     response.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE"); 
     response.setHeader("Access-Control-Max-Age", "3600"); 
     response.setHeader("Access-Control-Allow-Headers", "x-requested-with, content-type"); 
     chain.doFilter(req, res); 
    } 

    public void init(FilterConfig filterConfig) { 
    } 

    public void destroy() { 
    } 

} 

おかげで、Günter Zöchbauer

+0

ちょっとした助けが必要なセルゲイ、私は同じ問題を抱えています。 – HardikT

+0

こんにちは、あなたは何が必要なのか明確にしてもらえますか?書いたように、私はちょうどサーバー側でいくつかの設定を追加し、それは私の問題を解決しました。 –

+1

基本的に私はCORSの問題を解決しようとしています。当初、私は**アクセス制御が許可されていない原点エラー**を取得していました。次に、サーバー側に* allow-headers *を追加し、クライアント側に* request-headers *を追加しました。エラーが発生しました**安全でないヘッダー 'Access-Control-Request-Header'を設定することを拒否** 私のJavaファイルにコードを追加しましたが、エラーが発生しました。何より? – HardikT

関連する問題