美文网首页
实现一个上传文件的功能,发现报错Uncaught TypeErr

实现一个上传文件的功能,发现报错Uncaught TypeErr

作者: chanyi | 来源:发表于2019-11-11 17:00 被阅读0次

好久没有写前端,最近又需要做一个管理后台,发现报错Uncaught TypeError: Illegal

仔细研究了一下发现,自己对ajax了解的并不深刻。具体的问题如下:

html代码:

<input type="file" id="file" name="file" />

<button type="button" class="btn btn-default btn-sm" onclick="UcPermission.importExcel();">

<i class="fa fa-arrow-circle-up"></i>批量导入权限(当前权限会被清空)</button>

js代码:

"importExcel":function(){

var file = document.getElementById("file").files[0];

var formData = new FormData();

formData.append("file",file);

console.log("formData:"+formData.toString());

$.ajax({

  type: "POST",

  dataType: "json",

  url: contextPath + "/ucPermission/importExcel",

  data: formData,

  async: false,

  contentType:false,

  success: function(data) {

  if(data.code == 200) {

    alert("上传成功")

    UcPermission.initUcPermissionList();

    UcPermission.initUcPermissionTree($("#parentID").val(), $("#parentName").val());

  } else {

    parent.showInfo(data.msg);

  }

  }

});

},

解决方案:

ajax中加入processData:false,

原理:

processData,类型:Boolean

默认值: true。默认情况下,通过data选项传递进来的数据,如果是一个对象(技术上讲只要不是字符串),都会处理转化成一个查询字符串,以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false

相关文章

网友评论

      本文标题:实现一个上传文件的功能,发现报错Uncaught TypeErr

      本文链接:https://www.haomeiwen.com/subject/whntictx.html