Javascript 尝试使用jQuery.ajax发送FormData时出错

Javascript 尝试使用jQuery.ajax发送FormData时出错,javascript,jquery,ajax,multipartform-data,Javascript,Jquery,Ajax,Multipartform Data,我有一个文件要发送到服务器。该文件在FormData对象中传递,而不是作为路径URI传递。这是我正在使用的代码: let formData = new FormData(); formData.append('enctype', 'multipart/form-data'); formData.append('mode', 'fileInsert'); formData.append('conId', 'asdasd5535asf'); formData.append('user', 'user

我有一个文件要发送到服务器。该文件在FormData对象中传递,而不是作为路径URI传递。这是我正在使用的代码:

let formData = new FormData();
formData.append('enctype', 'multipart/form-data');
formData.append('mode', 'fileInsert');
formData.append('conId', 'asdasd5535asf');
formData.append('user', 'user2422424');
formData.append('filesNumber', 1);
formData.append('msgType', 'fil');
formData.append('file0', file);

$.ajax({
    data: formData,
    success: function (a, s) {
        debugger;
    }
});
当代码到达
$.ajax
调用时,它会抛出以下错误:

未捕获类型错误:非法调用


怎么了?请注意,jQuery AJAX是在前面配置的,带有post类型、URL等。

您需要在AJAX请求上设置以下属性:

contentType: false, 
processData: false
contentType
设置为
false
将停止设置
content type
标题。类似地,将
processData
设置为
false
将停止正在编码的请求内容,这在发送
FormData
对象时是必需的


有关这些属性和其他
$属性的更多信息,请参阅尝试将以下属性添加到
$调用中。
contentType:false,processData:false
让我询问我的服务器人员是否接收到任何内容,它现在不会抛出错误它工作了,@Rorymcrossan请给出答案,并解释它的作用