前面介绍过iframe,也介绍过跨域请求,这里就不再赘述了。
今天在实际的业务中碰到了一个现象,一个erp管理系统,用到了上传图片和iframe访问其他的域名的情况,上传图片用到了ajaxfileupload,而这个上传图片的控件本身就有iframe,也就是说导致了一个页面中有2个iframe,导致我上传图片想返回操作结果的时候返回不到任何结果,例如
前台访问调用的方法
$.ajaxFileUpload({ url : ‘http://*******.com/active/addImg.action‘, // 需要链接到服务器地址 secureuri : false, fileElementId : ‘imgFile‘, // 文件选择框的id属性 cache :false, dataType: ‘json‘,//返回值类型 一般设置为json success : function(result,status) { } })
后台接收并返回
Result result= activeService.addImg(getImgFile(), getImgFileFileName()); print(result.resultJson());
无论调用多少次都无法返回结果,之后上网查询原因,才知道,在多个iframe中,返回结果的domian需要指定,后来在返回结果写成
Result result= activeService.addImg(getImgFile(), getImgFileFileName()); print("<script>document.domain = ‘******.com‘;</script>"+result.resultJson());
结果就能正常显示了!!!
时间: 2024-10-10 01:20:56