• 使用ajax提交form表单


    使用FormData对象

    FormData对象是html5的一个对象,目前的一些主流的浏览器都已经兼容,非常的强大

    FormData可以凭空创建一个对象,然后往这个对象里面添加数据,然后直接提交,不需要写一行html代码,如下:

    var form = new FormData();
    form.append("username","zxj");
    form.append("password",123456);
    var req = new XMLHttpRequest();
    req.open("post", "${pageContext.request.contextPath}/public/testupload", false);
    req.send(form);

    这样就可以向浏览器发送表单数据了,或者也可以使用Jquery这样发送:

     var form = new FormData();
      form.append("username","zxj");
      form.append("password",123456);
     $.ajax({
                    url:"${pageContext.request.contextPath}/public/testupload",
                    type:"post",
                    data:form,
                    processData:false,
                    contentType:false,
                    success:function(data){
                        window.clearInterval(timer);
                        console.log("over..");
                    }
    });
    复制代码

    FormData还支持直接从html中的表单生成数据,就是在html页面中已经有数据了,然后FormData可以直接把这个表单的数据写入这个对象,然后直接提交给后台

    代码如下,先给出html代码:

    <form id="tf">
                <input type="file" name="img"/>
                <input type="text" name="username"/>
                <input type="button" value="提" onclick="test();"/>
                            .............
     </form>

    FormData还支持困扰众多开发者已久的ajax的上传文件,以前我们上传文件,需要写一个表单直接刷新提交,但是这里不需要,下面给出提交代码:

      function test(){
                var form = new FormData(document.getElementById("tf"));
    //             var req = new XMLHttpRequest();
    //             req.open("post", "${pageContext.request.contextPath}/public/testupload", false);
    //             req.send(form);
                $.ajax({
                    url:"${pageContext.request.contextPath}/public/testupload",
                    type:"post",
                    data:form,
                    processData:false,
                    contentType:false,
                    success:function(data){
                        window.clearInterval(timer);
                        console.log("over..");
                    },
                    error:function(e){
                        alert("错误!!");
                        window.clearInterval(timer);
                    }
                });        
                get();//此处为上传文件的进度条
            }


  • 相关阅读:
    centos7.3 安装 mysql5.7.13
    linux下MySQL的启动与访问
    使用jquery修改display属性
    浏览器在线预览pdf、txt、office文件
    查看java的jar包源码
    邮件群发器
    公司招聘asp.net程序员(已过期)
    javascript面向对象,实现namespace,class,继承,重载
    javascript window.close() 去掉那讨厌的确认对话框
    如果注定要分别
  • 原文地址:https://www.cnblogs.com/freyfeng/p/9897441.html
Copyright © 2020-2023  润新知