Ajax文件上传 报错:Illegal invocation

近期突然需要用到 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)

你可能感兴趣的:(Ajax文件上传 报错:Illegal invocation)