近期突然需要用到 jQuery 来做一个文件上传的需求,ajax传数据遇到报错,百思不得其解,在一篇博客找到了解决方案 -- 传送门
源码:
var form = new FormData()
form.append('file', $('.switchBox').find('.file-input')[0].files[0])
$.ajax({
type : "POST", //提交方式
url : "/upload",//路径
data: form,
success : function(res) {
console.log(res)
}
});
看似一切正常,然后就报了 Illegal invocation,重点来了 /敲黑板
设置$.ajax processData:false,请求成功
processData
默认值:true。默认情况下,通过data选项传递进来的数据,如果是一个对象(技术上讲只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。(摘自w3school)
网友评论