支持ie8异步文件上传错误

时间:2017-04-14 05:22:50

标签: html ajax file iframe upload

Customor想要支持ie8的文件上传。所以我决定使用iframe发送文件,如ajax。

<iframe name="dummy" id="dummy" src="" height="0" width="0"></iframe>

                                    <form id="frmfile" name="frmfile" method="post" enctype="multipart/form-data">
                                        <input type="text" id="FILEA" class="y_input" size="103" disabled="disabled">
                                        <input type="hidden" id="FILE_ID" name="FILE_ID"><input type="file" id="FILEDATAA" name="FILEDATAA">
                                </form>



                    var frm = document.getElementById("frmfile");
                frm.action = "/fileUpload.do";
                frm.target = "dummy";
                //frm.enctype = "multipart/form-data";
                frm.method = "POST";

                jQuery("#dummy").off("load");
                jQuery("#dummy").on("load", function() {
                    var res = jQuery(this).contents().find('body').html().toString();
                    alert("aa"+res);
                    var vData = JSON.parse(res);
                    if(vData != null && vData != ""){
                        alert("file uploaded");
}else{
alert("error");
}
                 vData = null;
                 res = null;
                });
                frm.submit();

目前我正在使用相同的域名。 ERROR

Uncaught DOMException: Blocked a frame with origin "DOMAIN" from accessing a cross-origin frame.

错误从这里开始&#34; jQuery(this).contents()。find(&#39; body&#39;)。html()。toString();&#34;

每次尝试都会成功上传文件。 但问题是,当我收到回调数据时会出现错误。

我试过把document.domain =&#39; domain&#39 ;; 但没有改变......

服务器返回这样的数据。

{Data: [{fileSeq: 1, fileid: "6574"}]}

0 个答案:

没有答案