这是我的问题 - 我想在两个网站之间进行通信,我正在寻找一个干净的解决方案。当前的解决方案使用Javascript,但由于(可理解的)跨站点脚本限制,存在令人讨厌的变通方法。
目前,网站A 使用名为jQuery的jqModal插件打开包含网站B 的模式窗口。 网站B 做了一些工作并将一些结果返回网站A 。要返回该信息,我们必须解决跨站点脚本限制 - 网站B 创建一个iframe,该iframe引用网站A 上的页面并包含*片段标识符“要返回的信息。网站A 会对iframe进行查询,以检测返回的信息。这是一个common technique,但它很糟糕。
有CrossSite之类的变体,我可以使用网站B 的HTTP POST到网站A ,但我正在尝试避免页面刷新
有没有人有其他选择?
编辑:我想避免在网站B 上保存状态。
答案 0 :(得分:5)
我最好的建议是在每个站点上创建一个Web服务,另一个可以调用需要传递的信息。如果需要安全性,可以很容易地向此系统添加类似SSL的身份验证方案(或者甚至是实际的SSL),以确保只有两台服务器能够与其各自的Web服务进行通信。
这可以让你避免任何涉及一个网站打开另一个网站的方案所固有的黑客。
答案 1 :(得分:3)
如果jQuery比1.2更新,您可以使用JSONP
答案 2 :(得分:0)
@jmein - 你已经描述了如何创建一个模态弹出窗口(这正是jqModal所做的)但是你错过了模态窗口的内容是从另一个域提供的。涉及的两个域属于两个独立的公司,因此不能以您描述的方式组合。
答案 3 :(得分:0)
我相信@pat正在引用这个
“从jQuery 1.2开始,如果你指定了一个JSONP回调,你可以加载位于另一个域的JSON数据,” http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback