使用jquery ajax異步提交文件的時候報Uncaught TypeError :Illegal invocation錯誤,報錯信息如圖:jquery
錯誤緣由:ajax
jQuery Ajax 上傳文件處理方式,使用ajax向後臺發送數據時其中的圖片數據的參數類型爲file,屬於對象,而不是一個字符串值。致使錯誤的出現緩存
var formData = new FormData();app
formData.append("src", 2);異步
formData.append("file",imgFile);url
首先看是否因爲參數書寫錯誤致使上述問題,若是誤寫成對象請修改相應參數類型。若是肯定要上傳的數據之一就是對象型,那麼請在ajax參數里加入spa
processData: falsecode
contentType : falseorm
$.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)
}
})