我有一个位于一个Web服务器的文件sample.xml
。我想从另一台服务器上运行的GWT应用程序访问此文件。我不想对服务GWT应用程序的同一服务器进行RPC调用,并在服务器端访问所需的文件(如代理)。我想直接从客户端访问该文件,因为我的应用程序将作为Web服务器中的静态文件托管。
有办法吗?
答案 0 :(得分:1)
当然 - 您必须从浏览器发出XHR(XmlHTTPRequest),然后解析数据。
在GWT中,您可以使用RequestBuilder
类(请参阅here)。
请注意,某些客户端限制可能适用(例如单一来源政策等)
您发出请求(在您的情况下为GET或POST-GET)并传递回调实例
实例的onResponseReceived
方法接收Response
对象,通过调用其getText
方法返回收到的内容。
答案 1 :(得分:0)
您尝试让自己的网站(a.com/index.html
)引用b.com/sample.xml
。我看到了一些选择。
如果您有权访问b.com
的服务器:
sample.xml
修改为sample.js
以在JSON中包含带回调的相同信息,并使用script
标记引用它index.html
放在b.com/index.html
,将所有其余文件放在a.com
上。然后,您的所有RPC调用都可以转到b.com
,但这意味着用户必须导航到b.com
而不是a.com
如果您无法访问b.com
的服务器:
- 只需提供供人们下载sample.xml
的链接
- 在具有某种脚本支持(PHP,Python,Ruby,Java,任何东西)的服务器上托管a.com
并将代理放到b.com/sample.xml