2009-07-15 9 views
0

私はGWT 1.7で書かれたアプリケーションを持っています。私は別のドメインにあるリモートサーバーにファイルをアップロードするページが1つあります。だから、私は、サーバーのファイルに投稿を行うサーバーに行くが、それは、応答を取得する時が来たときに私は機能を以下にnullを取得しています:GWTの問題アプリケーションが別のサーバーのサーブレットからHTTP応答を返すことができない

サーブレット:

... 
resp.setStatus(HttpServletResponse.SC_CREATED); 
resp.getWriter().print("The file was created successfully."); 
resp.flushBuffer(); 
... 

GWT:

form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() { 
      public void onSubmitComplete(SubmitCompleteEvent event) { 
       Window.alert(event.getResults()); 
      } 

戻り値:結果のHTML、またはnull Wが 場合event.getResultsため

Javadocは()は、次の前記しました@tipを読み取る際のエラーとして 結果のhtmlは の別の ドメインにフォームを送信した結果、nullになる可能性があります。

This is the code exampleそれはそのまま動作しますが、私がサーブレットを呼び出すときに応答はnullです。

ところで、私はFirebugを使用してヘッダーを表示しようとしましたが、サーブレットが応答を返すように見えます。私はそれがちょうどGWTがそれを好まないと思う。私はGWTで私の応答を得ることができるので、これを回避する方法はありますか?

おかげ

答えて

4

明白なことを述べるないが、それは右のあなたが間違っているものを掲載引用してこう述べています。

結果のHTMLが別のドメインにフォームを送信した結果としてnullも可能。

リンク先のコードサンプルが同じドメインにあるように、ブラウザの同じ発信元ポリシーに違反していないようです。

this workaroundがありますが、これはGWTの旧バージョンのようで、Firefoxのみで動作します。

+0

したがって、リモートサーバーからの応答を得る方法はありませんか?サーバーからそのメッセージを取得するために使用できる他の技術や技術はありますか? – Maksim

+1

スクリプトタグを動的に挿入するJSライブラリ(またはあなたが書いたもの)を使うことができます。これについての記事は次のとおりです:http://jaybyjayfresh.com/2007/09/17/using-script-tags-to-do-remote-http-calls-in-javascript/主要なJSライブラリのほとんどは、ボックス。あなたがGWTにそれを組み込む方法を100%確信しているわけではありません。 – seth

関連する問題