Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IFRAME内的AJAX不适用于同一服务器_Ajax_Iframe - Fatal编程技术网

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有关。我快速搜索了一下,找到了这个