0

このようなフィルターを作成し、web.xml で構成しました。単純な GET メソッドを使用してデータを取得することはできますが、新しいリソースを POST しようとすると失敗します。私は AngularJS を使用しており、これをコンソールで取得します。CORS とは何かを完全には理解していませんが、私が読んだところによると、「飛行前」リクエスト (OPTIONS メソッド?) があるようです。何が欠けているのかわからない、どうすれば修正できますか?これは私が得るエラーです:

Origin http://localhost is not allowed by Access-Control-Allow-Origin.

コード:

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    final HttpServletResponse httpResponse = (HttpServletResponse) response;
    httpResponse.addHeader("Access-Control-Allow-Origin", "*");
    httpResponse.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
    httpResponse.addHeader("Access-Control-Allow-Headers", "Authorization, X-Requested-With, Content-Type");

    chain.doFilter(request, response);
}
4

1 に答える 1

0

web.xml にいくつかの設定を追加する必要があります。これはあなたを助けるはずのリンクですhttp://software.dzhuvinov.com/cors-filter-installation.html

于 2013-08-12T13:25:44.580 に答える