FormData()的兼容性,如何在IE8中使用,或者有没有其他替代方法,大神快来!!

FormData()的兼容性,如何在IE8中使用,或者有没有其他替代方法,大神快来!!

<form id="fileForm" class="form-horizontal" action="<c:url value='/excelimp/form.shtml'/>" enctype="multipart/form-data" method="post"  role="form">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                    <h3 id="fileModalLabel">批量导入</h3>
            </div>
            <div class="modal-body">
                <div class="control-group control_group_heigth margintop10" style="margin-left:0px;">
                    <label class="control-label span5 text-right">Excel文件:<i class="require_star">*</i></label>
                    <label ><input type="file" name="file"  required="required" id="Excelfile"/></label>
                </div>
            </div>
            <div class="modal-footer">
                <div id="fileloadingtip" class="control-group" style="display:none;margin-right:90px;margin-bottom:0px;">
                    <img style="height: 20px;width:20px;" src="<c:url value='/img/common/loading.gif'/>">
                    <span style="font-size: 12px;">操作处理中,可能需要几分钟时间,请稍候。。。</span>
                </div>
                <button type="button" class="btn btn-primary" id="btn_imp" name="btn_imp">导入</button>
                <button type="button" class="btn" data-dismiss="modal" name="btn_cancel">取消</button>
            </div>                              
        </div>
    </div>
</form>

后面用了new FormData()来传给后台数据,结果在IE下出现FormData未定义的问题,请问有没有什么兼容的解决方法或者替代方法

$("#btn_imp").on('click', function(e) {
        var formData = new FormData($( "#fileForm" )[0]);
         $.ajax({  
              url: $( "#fileForm" ).attr('action'),  
              type: 'POST',  
              data: formData,  
              async: false,  
              cache: false,  
              contentType: false,  
              processData: false,  
              success: function (data) {  
                        alert("导入成功");
              },  
              error: function (data) {  
                  $("#errorinfo").html(data.msg);
              }  
         });           
        return false;
    });
});
阅读 39k
5 个回答

已经找到解决办法了,用jquery.form插件中的ajaxSubmit可以支持文件的上传

jQuery.serialize() 序列化表单值。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题