JQuery ajax 提交数据提示:Uncaught TypeError:Illegal invocation
目录
- JQuery ajax 提交数据提示:Uncaught TypeError:Illegal invocation
- 1 问题描述
- 2 解决方案
- 2.1 未定义的参数
- 2.2 用于上传文件 创建了Form对象
1 问题描述
用jQuery Ajax向DRF接口提交数据的时候,console提示:Uncaught TypeError:Illegal invocation(未捕获的异常:非法调用)。
这个问题可能有两种原因导致。
- ajax调用了未定义的参数
- 创建了Form对象上传文件,但是未将Ajax的
processData
与contentType
两个参数设置为false
2 解决方案
2.1 未定义的参数
console.log()一下参数,看看哪个参数在未声明前调用。
2.2 用于上传文件 创建了Form对象
由于文件是字节序列,所以需要将processData
与contentType
两个参数设置为false,否则也会出现Uncaught TypeError:Illegal invocation。
$.ajax({ url: url, type: 'POST', data: your_form_data, async: false, // 下面这两个参数 processData: false, contentType: false, success: function (res) { // code } error: function (res) { // code } })
复制
不排除有其他情况。