2017-01-22 1 views
1

のOPTION要求を送信します。 私はジャージサーバーがすでに動作しているtomcat 8を持っていますが、私はまだアンドロイドアプリケーションで問題なく使用しています。 したがって、CORBAが許可されていないため、角度2のサーバーへの単純なPOSTリクエストを実装しようとすると失敗しています。 角度リクエストにallow-cross-originsヘッダーを追加しました。これはコードです:Angular2とTomcat 8:CORSを自動的に私は初心者だので、私はangular2を試す代わりにPOST

var creds = "email=" + email + "&password=" + password; 
    let headers = new Headers({'Content-Type': 'application/x-www-form-urlencoded'}); 
    headers.append('Access-Control-Allow-Origin', '*'); 
    let options = new RequestOptions({headers: headers}); 
    this.http.post("http://192.168.1.70:9000/api/login", creds, options) 
     .map(res => res.json()) 
     .subscribe(
      data => this.saveJwt(data), 
      err => this.logError(err), 
      () => console.log('Authentication Complete') 
     ); 

私はtomacat 8 web.xmlファイルにフィルタを追加しました。

<filter> 
    <filter-name>CorsFilter</filter-name> 
    <filter-class>org.apache.catalina.filters.CorsFilter</filter-class> 
    <init-param> 
     <param-name>cors.allowed.origins</param-name> 
     <param-value>*</param-value> 
    </init-param> 
    <init-param> 
     <param-name>cors.allowed.methods</param-name> 
     <param-value>GET,POST,HEAD,OPTIONS,PUT</param-value> 
    </init-param> 
</filter> 
<filter-mapping> 
    <filter-name>CorsFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

この問題は何ですか? 問題はブラウザのセキュリティポリシーであると理解しましたが、localhost:9000で実行されているtomcatとlocalhost:3000で実行されている角形アプライアンスを使用して、localhostでCRUDアプリケーションの簡単なテストを行うだけです。

答えて

1

headers.append('Access-Control-Allow-Origin', '*');ラインをドロップしてください。

Access-Control-Allow-Originヘッダは、サーバの応答ヘッダです。リクエストに追加すると、表示されているとおりにブラウザにpreflight OPTIONS requestを送信します。

関連する問題