java - GWT 应用程序无法从另一台服务器上的 Servlet 获取 HTTP 响应的问题

标签 java http gwt servlets

我有用 GWT 1.7 编写的应用程序。我有一个页面,将文件上传到位于不同域的远程服务器。因此,当我将文件发布到服务器时,文件会发送到服务器,但是当需要获取响应时,我在以下函数中得到空值:

Servlet:

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

event.getResults() 的 Javadoc 表示如下:

Returns: the result html, or null if there was an error reading it @tip The result html can be null as a result of submitting a form to a different domain.

This is the code example我试图遵循的。它按原样工作,但是当我调用 servlet 时,响应为 null。

顺便说一句,我尝试使用 Firebug 查看 header ,在我看来,servlet 正在发送回响应。我认为这只是 GWT 不喜欢它。有没有解决这个问题的方法,以便我可以在 GWT 中得到回复?

谢谢

最佳答案

不是说显而易见的事情,而是在您发布的引用中正确指出了错误所在:

The result html can be null as a result of submitting a form to a different domain.

看起来您链接到的代码示例位于同一域中,因此它没有违反浏览器的同源策略。

this workaround但它似乎适用于早期版本的 GWT,并且仅适用于 Firefox。

关于java - GWT 应用程序无法从另一台服务器上的 Servlet 获取 HTTP 响应的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1129409/

相关文章:

java - Spinner 无法与 Firestore 的 document.getId 配合良好

javascript - 从 XMLHttpRequest send() 捕获异步网络错误

java - 如何在 GWT 应用程序中显示一种格式?

css - GWT + Eclipse——如何刷新CSS等静态资源

java - 如何通过标签识别EditText

java - 将 jar 文件中的控制台值打印到 GUI

java - 客户方法的 UnsatisfiedDependencyException

java - 从一个字节到另一个字节读取流

android - 如何通过 USB 发起 Android 到 PC 的 HTTP 请求?

hibernate - NoClassDefFound错误: org/hibernate/cfg/Configuration