Javascript 尝试使用jQuery.ajax发送FormData时出错
我有一个文件要发送到服务器。该文件在FormData对象中传递,而不是作为路径URI传递。这是我正在使用的代码: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
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请给出答案,并解释它的作用