网站之间通信(使用 Javascript 或?)
-
09-06-2019 - |
题
这是我的问题 - 我想在两个网站之间进行通信,并且我正在寻找一个干净的解决方案。当前的解决方案使用 Javascript,但由于(可以理解的)跨站点脚本限制,存在令人讨厌的解决方法。
眼下, 网站A 打开一个模态窗口,其中包含 网站B 用一个 jQuery 插件名为 jq模态. 网站B 做一些工作并返回一些结果 网站A. 。要返回该信息,我们必须解决跨站点脚本限制 - 网站B 创建一个引用页面的 iframe 网站A 并包括“片段标识符”,其中包含要返回的信息。iframe 的轮询由 网站A 来检测返回的信息。它是 常用技术 但这很老套。
有一些变化,例如 跨站点 我也许可以使用 HTTP POST 网站B 到 网站A 但我试图避免页面刷新。
有人有其他选择吗?
编辑:我想避免保存状态 网站B.
解决方案
我最好的建议是在每个站点上创建一个 Web 服务,其他站点可以使用需要传递的信息来调用该 Web 服务。如果安全性是必要的,可以很容易地向该系统添加类似 SSL 的身份验证方案(或者甚至是实际的 SSL,如果您愿意),以确保只有两个服务器能够与其各自的 Web 服务进行通信。
这可以让您避免涉及一个站点在另一个站点上打开窗口的任何方案中固有的黑客行为。
其他提示
对于 1.2 以上的 jQuery,您可以使用 JSONP
@jmein - 您已经描述了如何创建模式弹出窗口(这正是 jqModal 所做的),但是您错过了模式窗口的内容是从另一个域提供的。涉及的两个域属于两个不同的公司,因此无法按照您描述的方式组合。
我相信@pat指的是这个
“从 jQuery 1.2 开始,如果指定 JSONP 回调,则可以加载位于另一个域的 JSON 数据,”http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback