使用AJAX实现文件上传时Illegal invocation错误

时间:2017-06-17 14:19:31   收藏:0   阅读:6333

Js代码

var formData = new FormData();
            formData.append(‘userName‘,$scope.userName);
            formData.append(‘file‘,$scope.file);
            
            var url ="http://localhost:8080/SpringMVCT/rest/v1/uploader";            
            $.ajax({
                type:‘POST‘,
                url:url,
                data:formData,
                contentType:undefined,
                mimeType:"multipart/form-data",
                success:function(data){
                    
                }
            });

看错误提示信息应该是输入参数错误,检查代码可能是$scope.file这个File类型的参数被预先处理了,于是设置$.ajax 的processData:false,请求成功

$.ajax({
                type:‘POST‘,
                url:url,
                data:formData,
                contentType:undefined,
                processData:false,
                mimeType:"multipart/form-data",
                success:function(data){
                    
                }
            });

processData用于对data参数进行序列化处理,默认值是true。默认情况下发送的数据将被转换为对象,如果不希望把File转换,需要设置为false

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!