zoukankan      html  css  js  c++  java
  • 初始化form表单时serialize()和new FormData()的用法区别

    1、var formser = new FormData($('#searchForm')[0]);//获取表单的参数

    formser.append("test",test)//可增加请求的参数


    2、 var formser=$('#dataForm').serialize();

    注意:serialize只能序列化表单中的数据 ,比如文本框等input  select等的数据,但是对于文件,比如文件上传,无法实现 ,需要使用FormData

    例:

    <form id="tf" method="post" action="${ctxPath}/mobile/xxx.do" enctype="multipart/form-data">
    <input type="file" name="file" id="file1_0" value=""
    accept="image/jpg,image/jpeg,image/png,image/gif,image/bmp"
    onchange="imgChange('z_photo1','z_file1','file1_0');"/>

    </form>

    $.ajax({
    type: 'POST',
    data: uploadFormData,
    url: '/Artical/Publist',//TypeError: 'append' called on an object that does not implement interface FormData.
    processData: false,  //processData 默认为false,当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
    contentType: false,   //https://segmentfault.com/a/1190000007207128(contentType详解)

    //这两个参数如果不写,则会报红色出的错误
    async: false,
    success: function (data) {
    if (typeof (data) == undefined) {
    alert("用户信息已丢失,请重新登录!");

    window.parent().location.href = "/Account/Login";
    }
    if (data.ErrorMsg == "") {
    alert('美文发布成功!');
    } else { alert(data.ErrorMsg); }
    }
    });

  • 相关阅读:
    电脑能ping127.0.0.1但是ping不通本机ip
    用iis调试源代码
    pl登录提示服务不存在
    sqlserver保留一位小数(不是四舍五入)
    web应用程序与web网站发布时区别
    java的覆盖重写隐藏和C#中的不同
    导出word
    点击登录提交两次的问题
    oracle通过plsql代码倒库
    apply方法自解
  • 原文地址:https://www.cnblogs.com/zhangyong0908/p/9679811.html
Copyright © 2011-2022 走看看