zoukankan      html  css  js  c++  java
  • form serialize获取不到上传文件数据解决办法

    表单提交,使用form的serialize来给数据进行序列化斌提交,发现上传文件获取不到,原因是这种方式处理表单时所适用的input标签类型是有限的,只适用于一些常用的类型例如text、checkbox、select、date等等,但是对于file文件类型的input框并不适用。

    解决办法:通过获取form对象来解决 new FormData($('.Oform')[0])

    代码:

    (html)


              
              <form class="Oform" method="post" enctype="multipart/form-data"><!--由<form>表单构造的FormData对象,声明属性enctype="multipart/form-data"-->
               <input type="type" name="e_id"> 

               <input class="Ofile" accept=".xls,.xlsx" name="fileXls" type="file" />
             </form>
                $('.Ofile').on('change',function(){
                    $.ajax({
                        url :"url",
                        type : "POST",
                        data : new FormData($('.Oform')[0]),
                        cache: false,//cache设置为false,上传文件不需要缓存
                        processData: false,//因为data值是FormData对象,不需要对数据做处理
                        contentType: false,//<form>表单构造的FormData对象,且已经声明了属性enctype="multipart/form-data",所以这里设置为false
                        success : function(data) {
                            console.log(data)
                            var arr=JSON.parse(data)
                            if(arr.status=='1'){
                     //提示插件
                                swal({
                                    title: "导入成功!",
                                    type: "success",
                                    timer: 1000,
                                    showConfirmButton: false,
                                })
                                location=location
                            }else{
                                swal({
                                    title: "导入失败!",
                                    text:arr.msg,
                                    type: "error",
                                    // timer: 1000,
                                    showConfirmButton: true,
                                },function (i) {
                                    if(i){
                                        location=location
                                    }
                                })
    
                            }
                        },
                        error : function(data) {
                        }
                    });
                })
  • 相关阅读:
    【开发者笔记】C#连接mysql问题记录
    【开发者笔记】揣摩Spring-ioc初探,ioc是不是单例?
    【开发者笔记】c# 调用java代码
    【数据库乱码】记录一下数据库乱码问题
    字符函数
    单行函数和多行函数
    rownum和rowid伪列
    排序子句
    单引号的转义
    逻辑运算符
  • 原文地址:https://www.cnblogs.com/TLSF/p/9946454.html
Copyright © 2011-2022 走看看