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