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