0

我正在尝试在 GWT 中做一些跨站点。

根据GWT:Same Origin Policy我已添加到模块 xml 文件中。

只要我不调用任何 GWT 远程服务(使用 GWT-RPC),它就可以正常工作,但是当我尝试调用任何远程服务时,我没有得到任何响应!

有人知道如何使用 GWT 远程服务解决 GWT 中的跨站点问题吗?

提前致谢!

4

2 回答 2

1

史蒂夫的回答是正确的,但是如果您想在不使用 OAUTH 的情况下要求服务器交互的身份验证,您可以考虑另一种选择,这是最好的方法。要点是跨站点链接器不会绕过 SOP,而是允许您将 index.html 托管在与 JS 代码不同的站点上,以便您可以在一台服务器上拥有 JS 代码和 servlet 并加载它们从另一个。要绕过 SOP,您可以使用一种称为 JSON 和填充或 JSONP 的方法。本质上,它所做的是使用脚本标签通过将请求的数据包装在回调中来将外部请求注入环境。为此,您可以使用许多服务器端实现之一,例如 Jersey。GWT 2 包含一个 JsonpRequestBuilder 对象,它为您完成所有客户端工作,并且可以以与 RequestBuilder 相同的方式使用。看本文为教程。

于 2011-02-09T01:34:47.220 回答
0

如果您想从您的 GWT 应用程序访问其他服务器(example.com),那么您必须对您的服务器执行 RPC,并且在您的服务器端代码中,您必须对您正在寻找的 example.com 页面。

您链接到的有关跨站点链接大纲的页面添加<add-linker name="xs"/>到模块文件允许您在 2 个服务器之间拆分托管:

  • 用于静态文件的一台服务器(所有 GWT 生成的 html 和 js 文件,以及所有图像)
  • 一台用于动态调用的服务器(您所有的 RPC 都在此处,并且您的 index.html 主页必须在此处)
于 2011-02-08T21:21:32.637 回答