2016-04-06 11 views
1

私はcom.google.gwt.user.client.Window.open(String url, String name, String features)を使用してサーバーからファイルをダウンロードします。com.google.gwt.user.client.Window応答からHTTPステータスコードを取得するには?

サーバからの結果が200 OKの場合、すべてのことはOKです。ファイルを取得しています。

サーバーからの結果が200 OKと異なる場合に問題が発生します。たとえば、500 Internal Server Errorまたは401 Unauthorisedです。次に、問題に関する情報を含むTomcatエラーページが表示されます。

200 OK以外のすべてのステータスコードをキャッチして、自分の情報を表示するか、f.eにリダイレクトしたいと思います。 Login Page

どうすればこの問題を解決できますか?

答えて

2

必要な機能を実現するには、まずサーバー上にファイルが存在するかどうかを確認する必要があります。簡単な要請でこれを行うことができます。ここには同じサンプルコードがあります

XMLHttpRequest req = XMLHttpRequest.create(); 
req.open("HEAD", fileURL); 
req.setOnReadyStateChange(new ReadyStateChangeHandler() { 

    @Override 
    public void onReadyStateChange(XMLHttpRequest xhr) { 

     if (xhr.getReadyState() == XMLHttpRequest.DONE) { 
      if (xhr.getStatus() == 200) { 
       Window.open(fileURL, winTitle, ""); 
      } else { 
       // TODO handle other status codes 
      } 
     } 
    } 
}); 
req.send(); 
関連する問題