1. 程式人生 > >使用AJAX實現文件上傳時Illegal invocation錯誤

使用AJAX實現文件上傳時Illegal invocation錯誤

cnblogs 代碼 sda log oca mime http () code

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

使用AJAX實現文件上傳時Illegal invocation錯誤