jS Ajax 上傳檔案報錯"Uncaught TypeError: Illegal invocation"
阿新 • • 發佈:2019-01-27
ajax向後臺傳包括圖片、字串等資料的時候報錯。錯誤程式碼:
jquery-3.1.1.min.js:4 Uncaught TypeError: Illegal invocation
錯誤原因:
jQuery Ajax 上傳檔案處理方式,
使用ajax向後臺傳送資料時其中的圖片資料的引數型別為file,屬於物件,而不是一個字串值。導致錯誤的出現
var formData = new FormData();
formData.append("file",$("#dcim1")[0].files[0]);
formData.append("real_name", $("#name").val());
首先看是否由於引數書寫錯誤導致上述問題,如果誤寫成物件請修改相應引數型別。
如果確定要上傳的資料之一就是物件型,那麼請在ajax引數里加入
processData: false
contentType : false
$.ajax({
url : Url,
type : 'POST',
data : formData,
// 告訴jQuery不要去處理髮送的資料
processData : false,
// 告訴jQuery不要去設定Content-Type請求頭
contentType : false,
dataType: "json",
success: function(data) {
..。
}