使用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)
}
})