java - JsonpRequestBuilder访问google网页超时异常

标签 java gwt jsonp javascript-objects

所以我目前正在尝试使用 JsonpRequestBuilder API 来尝试访问远程文件,但是我只是使用 google 网页链接进行测试,并且遇到了超时异常。不太确定我在这里缺少什么。任何帮助将不胜感激。

package com.webapp.client;

<p>import java.util.logging.Logger;</p> <p>import com.webapp.client.ExcelFileJavascriptObject; import com.google.gwt.jsonp.client.JsonpRequestBuilder; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.rpc.AsyncCallback;</p> <p>public class DataHttpRequest {</p> <pre><code>private final String url2 = "http://www.google.ca"; private Logger logger = Logger.getLogger("DataRequest.java"); public void retrieveFile() { JsonpRequestBuilder builder = new JsonpRequestBuilder(); builder.requestObject(url2, new AsyncCallback<ExcelFileJavascriptObject>() { @Override public void onFailure(Throwable caught) { // TODO Auto-generated method stub logger.severe(caught.getMessage()); logger.severe(caught.toString()); } @Override public void onSuccess(ExcelFileJavascriptObject result) { // TODO Auto-generated method stub Window.alert(result.toString()); } }); } public void onModuleLoad() { retrieveFile(); } </code></pre>

}

package com.webapp.client;

<p>import com.google.gwt.core.client.JavaScriptObject;</p> <p>public class ExcelFileJavascriptObject extends JavaScriptObject{ protected ExcelFileJavascriptObject(){</p> <pre><code>} </code></pre>

}

最佳答案

您正在破坏 ' Some Origin Policy ' ajax 限制。如果您的 GWT 应用程序部署在“http://www.google.ca”,则只能使用 Ajax 下载该文件。 ' 我想这不是,不是吗?

从不同域获取信息的唯一方法是:使用 ' JSONP ' 就像您尝试使用的那样,或者 ' CORS ',在这两种情况下,其他域都应该与您的应用程序达成协议(protocol),以便在您想要使用 CORS 的情况下设置适当的 header ,或者如果您想要 JSONP,则为了用回调包装响应,它是什么您尝试请求的网址没有发生这种情况。

如果你想探索这两种方法,这个Ajax page我为 gwtquery 项目编写的内容可能会有用。

关于java - JsonpRequestBuilder访问google网页超时异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19417006/

相关文章:

android - 改造 - 在将其解析为 json 之前从响应主体中删除一些无效字符

javascript - 为什么 AJAX json 脚本会返回额外的 0(零)

ruby-on-rails - 如何通过覆盖诸如 respond_with 之类的方法来干掉 Rails 3 Controller ?

java - 如何在一个pom文件中生成两个xmlbeans

java - 刷新JTree而不崩溃

java - 使用 Java 从多个 PDF 中提取文本

Javafx - 同步延迟 - 卡片翻转

java - 如何最好地在 GAE 应用程序中存储凭据?

gwt - 如何在 GWT UIBinder 模板中重新设置 SplitLayoutPanel 的拖动器样式

java - GWT 按钮中的图像