2009-07-15 3 views
0

Ich habe Anwendung geschrieben mit GWT 1.7. Ich habe eine Seite, auf der ich die Datei auf den Remote-Server hochlade, der sich auf einer anderen Domäne befindet. Also, wenn ich Post zu den Server-Dateien zu tun geht an den Server, aber wenn es an der Zeit, Antwort zu bekommen ich bin immer null in folgenden Funktion:Problem mit GWT App kann nicht HTTP-Antwort zurück von Servlet auf einem anderen Server

Servlets:

... 
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()); 
      } 
folgende

Javadoc- für event.getResults() sagte:

Returns: das Ergebnis html oder null, wenn es w als ein Fehler beim Lesen von @ tip Das Ergebnis HTML kann null sein als Ergebnis Senden eines Formulars an eine andere Domain.

This is the code example, die ich versuchte zu folgen. Es funktioniert wie es ist, aber wenn ich mein Servlet anrufe, ist die Antwort null.

Übrigens habe ich versucht, Firebug zu verwenden, um Header zu sehen, und es scheint mir, dass Servlet Antwort zurücksendet. Ich denke, es ist nur GWT mag es nicht. Gibt es dafür irgendwelche Arbeiten, damit ich meine Antwort in GWT bekommen kann?

Dank

Antwort

4

nicht das Offensichtliche zu erklären, aber es sagt, direkt im Zitat Sie auf dem Laufenden, was falsch ist:

Das Ergebnis html als Folge der Einreichung eines Formulars zu einer anderen Domäne null sein .

Es sieht aus wie das Codebeispiel Link zu Ihnen ist auf der gleichen Domain, so dass es nicht ist für den Browser den gleichen Ursprung Politik zu verletzen.

Es gibt this workaround aber es scheint für frühere Version von GWT zu sein und funktioniert nur für Firefox.

+0

Also gibt es keine Möglichkeit, Antwort vom Remote-Server zu bekommen? Gibt es andere Technologien/Techniken, die ich verwenden kann, um diese Nachricht vom Server zu bekommen? – Maksim

+1

Sie könnten eine JS-Bibliothek (oder etwas, das Sie schreiben) verwenden, das ein Skript-Tag dynamisch einfügt. Hier ist ein Artikel darüber: http://jaybyjayfresh.com/2007/09/17/using-script-tags-to-do-remote-http-calls-in-javascript/ Die meisten der wichtigsten JS-Bibliotheken tun dies aus die Kiste. Nicht 100% sicher, wie Sie es in GWT integrieren würden. – seth

Verwandte Themen