网站之间的交流(使用Javascript或者?)

时间:2020-03-05 18:44:36  来源:igfitidea点击:

这是我想在两个网站之间进行交流的问题,我正在寻找一个干净的解决方案。当前的解决方案使用Javascript,但是由于(可理解的)跨站点脚本限制,因此存在令人讨厌的解决方法。

目前,网站A使用称为jqModal的jQuery插件打开包含网站B的模式窗口。网站B做一些工作并向网站A返回一些结果。要返回该信息,我们必须解决跨站点脚本限制的问题,网站B创建一个iframe,该iframe引用网站A上的一个页面,并包含"片段标识符",其中包含信息网站A对iframe进行轮询以检测返回的信息,这是一种常见的技术,但它很容易破解。

有诸如CrossSite之类的变体,我也许可以使用从网站B到网站A的HTTP POST,但是我试图避免页面刷新。

有人有其他选择吗?

编辑:我想避免不得不在网站B上保存状态。

解决方案

回答

使用版本高于1.2的jQuery时,我们可以使用JSONP

回答

我最好的建议是在每个站点上创建一个Web服务,另一个可以调用该Web服务并传递需要传递的信息。如果需要安全性,可以很容易地向该系统中添加类似SSL的身份验证方案(或者甚至可以使用实际SSL),以确保只有两个服务器能够与其各自的Web服务进行通信。

这样一来,我们就可以避免任何涉及一个站点在另一个站点上打开窗口的方案所固有的黑客行为。

回答

@jmein我们已经描述了如何创建模式弹出窗口(这正是jqModal所做的),但是我们错过了模式窗口的内容是从另一个域提供的。涉及的两个域属于两个独立的公司,因此无法按照描述方式进行合并。

回答

我相信@pat指的是这个

"从jQuery 1.2开始,如果我们指定JSONP回调,则可以加载位于另一个域上的JSON数据,"
http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback