使用AJAX实现文件上传时Illegal invocation错误
Posted ~~Cc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用AJAX实现文件上传时Illegal invocation错误相关的知识,希望对你有一定的参考价值。
Js代码
var formData = new FormData(); formData.append(‘userName‘,$scope.userName); formData.append(‘file‘,$scope.file); var url ="http://localhost:8080/SpringMVCT/rest/v1/uploader"; $.ajax({ type:‘POST‘, url:url, data:formData, contentType:undefined, mimeType:"multipart/form-data", success:function(data){ } });
看错误提示信息应该是输入参数错误,检查代码可能是$scope.file这个File类型的参数被预先处理了,于是设置$.ajax 的processData:false,请求成功
$.ajax({ type:‘POST‘, url:url, data:formData, contentType:undefined, processData:false, mimeType:"multipart/form-data", success:function(data){ } });
processData用于对data参数进行序列化处理,默认值是true。默认情况下发送的数据将被转换为对象,如果不希望把File转换,需要设置为false
以上是关于使用AJAX实现文件上传时Illegal invocation错误的主要内容,如果未能解决你的问题,请参考以下文章
jS Ajax 上传文件报错"Uncaught TypeError: Illegal invocation"
Uncaught TypeError: Illegal invocation问题解决方法