zoukankan      html  css  js  c++  java
  • 关于jquery的 $("form").serialize()和 new FormData表单序列化

    $("form").serialize()和 new FormData($('#uploadForm')[0])都是序列化表单,实现表单的异步提交,但是二者有区别

    首先,前者,只能序列化表单中的数据 ,比如文本框等input  select等的数据,但是对于文件,比如文件上传,无法实现,那么这时候,FormData就上场了,

    new FormData使用需要有一个注意点,

    注意点一:,对于jquery的要求是,好像是 版本1.8及其以上方可支持。

    另外该对象不仅仅可以序列化文件,一样可以用作表单数据的序列化,(就是说包含了serialize()的功能);

    //提交文件
        function submitFile() {
            $('.btn-publish').click(function () {
                //var title = $('.txt-video-title').val();
                var uploadFormData = new FormData($('#uploadForm')[0]);//序列化表单,$("form").serialize()只能序列化数据,不能序列化文件
                $.ajax({
                    type: 'POST',
                    data: uploadFormData,
                    url: '/Artical/Publist',//TypeError: 'append' called on an object that does not implement interface FormData.
                    processData: false,
                    contentType: false,
                    async: false,
                    success: function (data) {
                        if (typeof (data) == undefined) {
                            alert("用户信息已丢失,请重新登录!"); window.parent().location.href = "/Account/Login";
                        }
                        if (data.ErrorMsg == "") {
                            alert('美文发布成功!');
                        } else { alert(data.ErrorMsg); }
                    }
                });
    
            });
        }
  • 相关阅读:
    STL map用法总结(multimap)
    Ice Cream Tower
    位运算 进制转化 STL中bitset用法
    《算法导论》插入排序
    C++输入/输出流
    kuangbin大佬模板(侵删)- hdu 2222
    poj 3461
    动态规划入门-01背包问题
    Dropping water balloons (入门dp)
    TSP
  • 原文地址:https://www.cnblogs.com/wei-dong/p/7570624.html
Copyright © 2011-2022 走看看