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


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM