jS Ajax 上傳文件報錯"Uncaught TypeError: Illegal invocation"


使用jquery ajax異步提交文件的時候報Uncaught TypeError :Illegal invocation錯誤,報錯信息如圖:

 

 

錯誤原因:

  jQuery Ajax 上傳文件處理方式,使用ajax向后台發送數據時其中的圖片數據的參數類型為file,屬於對象,而不是一個字符串值。導致錯誤的出現

 

    var formData = new FormData();

    formData.append("src", 2);

 

    formData.append("file",imgFile);

 

  首先看是否由於參數書寫錯誤導致上述問題,如果誤寫成對象請修改相應參數類型。如果確定要上傳的數據之一就是對象型,那么請在ajax參數里加入

    processData: false

    contentType : false

 

  

  
      $.ajax({
              url: '傳輸地址',
              type: 'POST',
              cache: false,    //上傳文件不需要緩存
              data: formData,
              processData: false, // 告訴jQuery不要去處理發送的數據
              contentType: false, // 告訴jQuery不要去設置Content-Type請求頭
              success: function (res) {
                    console.log(res)
                    if(res.ret == 0){
                        console.log(上傳成功)
                    }
                },
                error: function (err) {
                    console.log(err)
                }
            })

 

 

 


免責聲明!

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



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