ajax发送excel到后端和报错Illegal invocation解决

92 阅读1分钟

input标签,为input添加一个onchange事件

<input 
    type="file" 
    id="uploadFile" 
    value="上传" 
    accept=".xlsx, .xls"
    onchange="getFile()"
    />

js部分,这里使用的是ajax

function sendFile(){
    // 获取input的元素
    var inputDom = document.getElementById('uploadFile');
    // 实例化一个FormData对象
    var data = new FormData();
    // 得到文件
    var file = inputDom.files[0];
    data.append('file',file)
    console.log('获取到的文件内容',file);
   $.ajax({
     type:"POST",
     url:'接口地址',
     data,
     // 以下两行解决了Illegal invocation问题
     processData: false,   // jQuery不要去处理发送的数据
     contentType: false,   // jQuery不要去设置Content-Type请求头
     success(res){
       console.log('成功',res)
     },
     error(err){
       console.log('失败',err)
     }
   })
}