1

Java 上の AppEngine で Angular.js を使用しています。
HTTP リクエストごとに、Angular.js は実際のリクエストの前に OPTIONS リクエストを発行し、HTTP 404 エラーを返します。
理由を教えてください。

AppEngine で OPTIONS メソッドの構成を有効にする方法は?

編集: OPTIONS リクエストを処理するフィルターを作成しました。ここで、値としてGET、POST、DELETE、PUT、OPTIONS、HEADを含むAllowヘッダーを追加し、ステータス コード200で応答します。しかし、それでも404が表示されます。

4

1 に答える 1

1

最後にそれが機能しました。私は次のようにコードを書きました:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
    HttpServletResponse resp = (HttpServletResponse) response;
    HttpServletRequest req = (HttpServletRequest) request;
    resp.setHeader("Cache-Control", "max-age=3600");
    resp.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    resp.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, DELETE, OPTIONS");
    resp.setHeader("Access-Control-Allow-Origin", "www.myapp.com");
    resp.setHeader("Access-Control-Allow-Credentials", "true");
    if (req.getMethod().equals("OPTIONS")) { 
        resp.flushBuffer();
    } else {
        chain.doFilter(request, resp);
    }
}

resp.setHeader("Access-Control-Allow-Origin", "*"); を書きました。前。ヘッダー全体を書き込んだ後、機能し始めました。

于 2016-01-11T06:07:24.293 に答える