javascript - 发布 FormData 在 IE9 中不起作用

标签 javascript file file-upload

以下代码在IE9中不会将文件数据发布到服务器。

FormData() 对象看起来是问题所在,但不确定如何解决。

我使用了 form.serialize() 但这不是上传文件。

我犹豫是否要为此功能实现一个 JQuery 文件 uploader 。 有没有类似 FormData() 的简单上传文件的方法?

    // HTML
    <form name='aform' action='upload.php'>
           <input type='file' name='afile'>
           <input type='text' name='qty' value='1'>
           <input type='hidden' name='product_id' value='7'>
           <a class='addToCartButton'>Add to cart</a>
    </form>



    // JS
    $(document).on('click', '.addToCartButton', function(event) 
    {

        var form_id = $(this).closest('form').attr('id');

        var formElement = document.getElementById(form_id);

        var odata = new FormData(formElement);        

        //var $form = $('#'+form_id);

        $.ajax({
            url: 'http://localhost/cart/add',
            data: odata, //$form.serialize(),
            type: 'POST',
            processData: false,  // tell jQuery not to process the data
            contentType: false   // tell jQuery not to set contentType            
        }).done(function(data) 
        {

            var returnObject = jQuery.parseJSON(data);

            switch(returnObject.status) {
                case 'success':
                    alert('Item added to cart');
                    break;              
                case 'error':
                    alert('An error occured');
                    break;
                case 'no_file':
                    alert('No file was detected');
                    break;                                      
            }                           

        });

        event.preventDefault();
    }); 

最佳答案

关于javascript - 发布 FormData 在 IE9 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30470762/

相关文章:

javascript - 如何在 JavaScript 的第二行用省略号分隔文本?

javascript - 无法从外部js文件访问 Angular 服务

javascript - 如何选择 CDN 来加载 Javascript 和 CSS 库?

javascript - 为什么 Angular AJAX 请求在 chrome 网络选项卡中两次可见

java - 如何使用现有文本文件进行 JUnit 测试

c# - 从目录中获取 x 个最新文件

c - 为什么“while(!feof(file))”总是错误的?

javascript - 如何检查浏览器是否支持 HTML5 文件上传(FormData 对象)?

ubuntu - SFTP 文件上传非常慢并且在 Ubuntu 上停滞不前

file-upload - Angular2上传文件的方法