IFRAME内的AJAX不适用于同一服务器
我正在使用一个网站,IFRAME内的AJAX不适用于同一服务器,ajax,iframe,Ajax,Iframe,我正在使用一个网站,abc.com,它在123.com上托管一个iframe iframe中的页面正在对123.com上的另一个页面执行AJAX请求,但我们看到请求被取消 除非我错了——我还没有在互联网上找到任何关于这个的官方信息——这个电话应该可以正常工作,因为它不是跨域请求 父帧位于不同域的事实是否真的会妨碍iframe对其自己的服务器执行AJAX请求?iframe应该能够对其自己的原始站点(相同的源URL)发出AJAX请求。但是,请确保请求事件是从IFRAME而不是父级触发的 我的第一个猜
abc.com
,它在123.com
上托管一个iframe
iframe
中的页面正在对123.com
上的另一个页面执行AJAX请求,但我们看到请求被取消
除非我错了——我还没有在互联网上找到任何关于这个的官方信息——这个电话应该可以正常工作,因为它不是跨域请求
父帧位于不同域的事实是否真的会妨碍
iframe
对其自己的服务器执行AJAX请求?iframe应该能够对其自己的原始站点(相同的源URL)发出AJAX请求。但是,请确保请求事件是从IFRAME而不是父级触发的
我的第一个猜测是,您正在加载IFRAME,然后通过父级(JS)对其进行寻址(触发事件),以使其执行/获取/设置触发ajax调用的内容。简言之,这是IFRAME域到同一域请求被取消的最可能原因,因为浏览器仍然会将其识别为源于目标域代码之外
请求事件需要由用户点击IFRAME中的某个内容生成,或者由IFRAME本身的代码生成
换句话说:仅仅因为IFRAME可能有一些能力在其JS/代码中向自身触发事件/ajax,通常仍然不允许它通过JS/代码直接向ajax/JS发送父引用。IFRAME必须根据其加载参数(可能是URL值)进行编码,或者用户必须实际单击/对某个对象采取操作,以便在该域上创建用户生成的事件
当然,这将因浏览器和版本的不同而有所不同,您可以在父级和iframe之间的交互性方面进行协调。但是一个严格的、最新的浏览器将试图阻止您通过js在iFrame上伪造不安全的交互
为了得到更好的答案,你需要提供更多关于你正在做什么/得到什么的细节 我们能看到它在起作用吗?iframe中是否有任何选项?这种情况是否发生在特定浏览器上?您是否至少可以复制粘贴完整的错误消息(来自FireBug或开发人员控制台)以提供更多信息?可能与SSL有关。我快速搜索了一下,找到了这个