Jquery提交包含。在IE8中上传文件

时间:2015-11-11 23:56:58

标签: jquery file-upload internet-explorer-8 submit

有什么建议吗?它适用于其他浏览器,如Chrome,Firefox,Safari ...... 我从天开始寻找解决方案:(

jQuery(document).ready(function(){

jQuery('#formone').submit(function(e) {
    e.preventDefault();
    if ($("#formone").validationEngine('validate')) {
        var data = new FormData(this);
        jQuery.each(jQuery('#indoc')[0].files, function(i, file) {
            data.append('file-'+i, file);
        });
        jQuery.ajax({
            url: 'getitall.php',
            data: data,
            cache: false,
            contentType: false,
            processData: false,
            type: 'POST',
            success: function(data){
                window.location.href = "index.php";
            }
        });
    }
});

});

我很乐意接受任何帮助:)

1 个答案:

答案 0 :(得分:0)

IE8不支持ajax文件上传,因此你必须将其填充 一个简单的方法是提交包含文件的表单,其结果将加载到iframe

<form id="formone" target="iframe" method="post" action="getitall.php" enctype="multipart/form-data">
...
</form>
<iframe id="iframe"></iframe>
$('#iframe').on('load', function(){
    var $body = $(this.contentDocument || this.contentWindow);
    if (!$body.is('body')){
        $body = $body.find('body');
    }
    var data = $body.html(); 
    // do something with the data   
});