Ajax上传文件/照片时报错TypeError :Illegal invocation

小天天天天    前端    999+ 次    2023-07-26 17:07:34


问题

Ajax上传文件/照片时报错TypeError :Illegal invocation

解决

网上搜索问题,错误原因可能有以下几个,依次检查:

  1. 请求类型有误,如post请求,但在后台设置的是get请求
  2. 参数有误。 如没有传参,或是参数对应不上去
  3. File类型的参数被预先处理了
  4. 参见Ajax原理

检查后发现应该时原因3,故修改代码,设置$.ajaxprocessData: false

getToken().then( res => {
  console.log('获取七牛云token后上传图片')
  if(!res.hasOwnProperty('data')) return
  // 整理参数
  var formData = new FormData()
  formData.append('token', res.data)
  formData.append('file', file)
  $.ajax({
    url: '',
    type: 'POST',
    contentType: 'multipart/form-data',
    processData: false,  // 增加这一行,不处理参数
    data: formData,
    success: function (result) {
      console.log(result)
    }
  })
})

如果你觉得本篇文章对您有帮助,请打赏作者

上一篇: 库存货物的计价方法有哪些

下一篇: 最全面的JAVA多线程知识总结

最新评论

暂无评论

热门文章

最新评论

网站数据

网站文章数:481

今日UV/PV/IP:12/13/12

昨日UV/PV/IP:22/28 /22

TOP