zoukankan      html  css  js  c++  java
  • 模态窗口添加方法

    对于以模态对话框的方式,实现新增|修改等功能时,在使用ajax提交表单数据的时候,必须考虑表单是否包含文件域。


    情况1:不包含文件域

      按照$("#form的id").serialize()或者.serializeArray()或者表单数据

      然后再使用$.post();

            var formdata = $("#form1").serializeArray();//无法上传文件的
            alert(formdata);
            var url ="<%= request.getContextPath()%>/upload/demo1";
            $.ajax({
                url:url,
                data:formdata, //name=zhangsan&age=50   {}
                    contentType: false,//默认: "application/x-www-form-urlencoded"
                    processData: false,//设置 processData 选项为 false,防止自动转换数据格式
                type:"post",
                dataType:"json",
                success:function(data){
                    alert(data);
                },
                error:function(er){
                    alert(er.responseText);
                }
            });


    情况2:包含文件域

      做法1:使用html5提供的新特性:FormData

                var formdata = new FormData(document.getElementById("form1"));//可以上传文件

            var url ="<%= request.getContextPath()%>/upload/demo1";
            $.ajax({
                url:url,
                data:formdata, //name=zhangsan&age=50   {}
                    contentType: false,//默认: "application/x-www-form-urlencoded"
                    processData: false,//设置 processData 选项为 false,防止自动转换数据格式
                type:"post",
                dataType:"json",
                success:function(data){
                    alert(data);
                },
                error:function(er){
                    alert(er.responseText);
                }
            });


      做法2:使用jquery.form.js插件

            <script type="text/javascript" src="jquery-1.10.2.js"></script>
        <script type="text/javascript" src="jquery.form.js"></script>

        var url ="<%= request.getContextPath()%>/upload/demo2";
            
        $("#form1").ajaxSubmit({  
                type:'post',  
                url:url,  
                clearForm:true,//清空所有表单元素的值
                resetForm:true,//重置所有表单元素的值
                success:function(data){  
                    alert(data);  
                },  
                error:function(XmlHttpRequest,textStatus,errorThrown){  
                    alert("上传失败了");
                }  
            });





  • 相关阅读:
    Django学习 之 Django安装与一个简单的实例认识
    Django学习 之 HTTP与WEB为Django做准备
    Ansible ssh-key密钥认证配置
    Python 之并发编程之进程下(事件(Event())、队列(Queue)、生产者与消费者模型、JoinableQueue)
    Python 之并发编程之进程中(守护进程(daemon)、锁(Lock)、Semaphore(信号量))
    Python 之并发编程之进程上(基本概念、并行并发、cpu调度、阻塞 )
    Python 之网络编程之socket(3)hashlib模块
    Python 之网络编程之进程总体概要
    Python 之网络编程之socket(2)黏包现象和socketserver并发
    Python 之网络编程之socket(1)TCP 方式与UDP方式
  • 原文地址:https://www.cnblogs.com/caidaxian/p/6425292.html
Copyright © 2011-2022 走看看