jS Ajax 上传文件报错"Uncaught TypeError: Illegal invocation"

Posted 心雨星空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jS Ajax 上传文件报错"Uncaught TypeError: Illegal invocation"相关的知识,希望对你有一定的参考价值。

jS Ajax 上传文件报错"Uncaught TypeError: Illegal invocation"

query-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) {

    ..。

}

完成后请重新提交测试

以上是关于jS Ajax 上传文件报错"Uncaught TypeError: Illegal invocation"的主要内容,如果未能解决你的问题,请参考以下文章

Ajax方式上传文件报错"Uncaught TypeError: Illegal invocation"

原生js实现文件上传

Ajax 上传文件 取不到返回值

ajax后台上传文件500错误,timeout设置无效(jquery-1.4.2.min.js)

ajax后台上传文件500错误,timeout设置无效(jquery-1.4.2.min.js)

ajax上传文件后,后台java如何接收(求后台接收的完整代码)