美文网首页
实现一个上传文件的功能,发现报错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