GWT与宁静的架构互动

时间:2011-12-08 01:33:07

标签: web-services gwt rest

我有一个后端REST API,我有一个GWT的前端。我在一个网络上,我的IP地址是192.168.1.4。

我已将常量网址声明为

public static final String DomainName="http://127.0.0.1/recess/restApp/";

使用ip 127.0.0.1,一切正常

但是当我将ip更改为192.168.1.4时,应用程序无法运行,我的状态代码为0。

GWT应用程序在Web根目录上与REST API相同。

事实上,这不是同一个原始政策问题,因为它是一个网络服务??

任何人都对此有所了解?

我正在使用xampp,而GWT项目在htdocs中与REST API相同!!

2 个答案:

答案 0 :(得分:1)

听起来您肯定会遇到沙箱政策,禁止外部连接。

您可能遇到的一个策略是GWT浏览器附加连接限制。在Chrome中,在工具中添加您的IP地址扩展| GWT Dev插件|选项。在Firefox中,它位于Tools |附加组件|扩展|谷歌... |选项

我可以建议您使用加载网页的确切网址,而不是使用硬编码网址,以符合单一来源政策。 Web工具包提供了一种机制来实现这一目标。

public static GWT.getHostPageBaseURL()用于预先设置相对于主机页面的资源路径。

public static GWT.getModuleBaseURL()对预先准备与模块相关的URL非常有用。

http://google-web-toolkit.googlecode.com/svn/javadoc/2.3/com/google/gwt/core/client/GWT.html#getHostPageBaseURL()

答案 1 :(得分:1)

我担心这是同源策略违规:如果您要求浏览器使用XMLHttpRequest加载某些URL(或在GWT中加载RequestBuilder),那么该URL必须位于同一 origin 作为试图访问它的页面;除非浏览器支持CORS(除IE之外的所有内容;至少在IE10出门之前),并且您尝试访问的服务器会发送相应的HTTP标头以允许跨源连接。

相关问题