zoukankan      html  css  js  c++  java
  • 关于serialize() FormData serializeArray()表单序列化

    serialize()  FormData  serializeArray()都是序列化表单,实现表单的异步提交

    但是serialize()和serializeArray()都是只能序列化表单中的数据,比如input  select等的数据,但是对于文件上传就只能用 FormData。

    html代码

    <form class="form-horizontal" role="form">
            <div class="form-group">
                <label for="firstname" class="col-sm-2 control-label">名字</label>
                <div class="col-sm-10">
                    <input type="text" name='firstname' class="form-control" id="firstname" 
                           placeholder="请输入名字">
                </div>
            </div>
            <div class="form-group">
                <label for="lastname" class="col-sm-2 control-label"></label>
                <div class="col-sm-10">
                    <input type="text" name="lastname" class="form-control" id="lastname" 
                           placeholder="请输入姓">
                </div>
            </div>
            
            <div class="form-group">
                <div class="col-sm-offset-2 col-sm-10">
                    <button type="button" class="btn btn-default">登录</button>
                </div>
            </div>
        </form>

    formdata看代码

    $('.btn-default').click(function () {
                var formData = new FormData();
                formData.append("firstname", $('#firstname').val());
                formData.append("lastname", $('#lastname').val());
    
                $.ajax({
                    headers: {
                        Accept: "application/json; charset=utf-8"//设置headers里的accept
                    },
                    type: 'POST',
                    data: formData,
                    url: 'wwww',
                    processData: false,
                    contentType: false,
                    async: false,
                    success: function (data) {
                        if (typeof (data) == undefined) {
                            alert("用户信息已丢失,请重新登录!");
                        }
                        if (data.ErrorMsg == "") {
                            alert('美文发布成功!');
                        } else { 
                            alert(data.ErrorMsg); 
                        }
                    }
                });
    
            });

    提交后显示结果

    serialize()看代码

    $('.btn-default').click(function () {
    
               var formData=$("form").serialize();//序列化表单
                $.ajax({
                    headers: {
                        Accept: "application/json; charset=utf-8"//设置headers里的accept
                    },
                    type: 'POST',
                    data: formData,
                    url: 'wwww',
                    processData: false,
                    contentType: false,
                    async: false,
                    success: function (data) {
                        if (typeof (data) == undefined) {
                            alert("用户信息已丢失,请重新登录!");
                        }
                        if (data.ErrorMsg == "") {
                            alert('美文发布成功!');
                        } else { 
                            alert(data.ErrorMsg); 
                        }
                    }
                });
    
            });

    显示结果

    serializeArray()看代码

    $('.btn-default').click(function () {
    
               var formData=$("form").serializeArray();//序列化表单json
               console.log(formData);//打印出数据
                $.ajax({
                    headers: {
                        Accept: "application/json; charset=utf-8"//设置headers里的accept
                    },
                    type: 'POST',
                    data: formData,
                    url: 'wwww',
                    processData: false,
                    contentType: false,
                    async: false,
                    success: function (data) {
                        if (typeof (data) == undefined) {
                            alert("用户信息已丢失,请重新登录!");
                        }
                        if (data.ErrorMsg == "") {
                            alert('美文发布成功!');
                        } else { 
                            alert(data.ErrorMsg); 
                        }
                    }
                });
    
            });

    显示结果

  • 相关阅读:
    关于Vuex的actions传入多个参数的方法:
    2019最新create-react-app创建的react中使用sass/scss,以及在react中使用sass/scss公共变量的方法
    vue中怎么使用vuex
    分享一个知乎答案 最详细易懂的 js闭包
    web前端 在react中使用移动端事件,学习笔记
    闭包
    原生ajax练习-post&xml
    Ajax中Get请求与Post请求的区别
    css文件编码
    template.js模板工具案例
  • 原文地址:https://www.cnblogs.com/aSnow/p/8794844.html
Copyright © 2011-2022 走看看