Uncaught TypeError: Illegal invocation問題解決方法


今天使用ajax上傳文件時,出現了錯誤。數據傳輸的方式是通過定義formData完成的,提交的文件對象也設置為dom對象,但是還是不能發送請求。F12看到后台報了個錯誤:Uncaught TypeError: Illegal invocation,百度了一下,找到了解決方法。

解決方法:在ajax請求的參數中添加如下兩個參數:

$.ajax({
   ...,
   processData:  false ,
   contentType:  false
   ...
});
processData

類型:Boolean

默認值: true。默認情況下,通過data選項傳遞進來的數據,如果是一個對象(技術上講只要不是字符串),都會處理轉化成一個查詢字符串,以配合默認內容類型 "application/x-www-form-urlencoded"。如果要發送 DOM 樹信息或其它不希望轉換的信息,請設置為 false。

contentType

類型:String

默認值: "application/x-www-form-urlencoded"。發送信息至服務器時內容編碼類型。

默認值適合大多數情況。如果你明確地傳遞了一個 content-type 給 $.ajax() 那么它必定會發送給服務器(即使沒有數據要發送)。


免責聲明!

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



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