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"}]}