一个页面有多个iframe找不到结果的问题

本文探讨了在一个页面含有多个iframe的情况下,使用ajaxfileupload上传图片遇到的问题及解决方案。通过指定返回结果的domain,成功实现了跨iframe的数据交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        前面介绍过iframe,也介绍过跨域请求,这里就不再赘述了。

        今天在实际的业务中碰到了一个现象,一个erp管理系统,用到了上传图片和iframe访问其他的域名的情况,上传图片用到了ajaxfileupload,而这个上传图片的控件本身就有iframe,也就是说导致了一个页面中有2个iframe,导致我上传图片想返回操作结果的时候返回不到任何结果,例如

前台访问调用的方法

1
2
3
4
5
6
7
8
9
10
11
$.ajaxFileUpload({
            url : 'http://*******.com/active/addImg.action', // 需要链接到服务器地址
            secureuri : false,
            fileElementId : 'imgFile'// 文件选择框的id属性
            cache :false,
            dataType: 'json',//返回值类型 一般设置为json  
            success : function(result,status) {
             
                    }
                     
})

后台接收并返回

       

1
2
Result result=    activeService.addImg(getImgFile(), getImgFileFileName());
print(result.resultJson());

无论调用多少次都无法返回结果,之后上网查询原因,才知道,在多个iframe中,返回结果的domian需要指定,后来在返回结果写成

1
2
Result result=    activeService.addImg(getImgFile(), getImgFileFileName());
print("<script>document.domain = '******.com';</script>"+result.resultJson());

结果就能正常显示了!!!










本文转自 xinsir999 51CTO博客,原文链接:http://blog.51cto.com/xinsir/1867513,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值