FormData序列化及file文件上传

  一、当表单文件处于无任何处理状态时,用submit提交直接上传; 但这种方式上传,数据无任何处理;(极少使用);

  但是传统的表单提交会导致页面刷新,但是有些情况下,我们并不希望页面被刷新,这种时候,我们都是使用ajax的方法进行请求的

情况二:

  二、当表单文件使用$.ajax上传,表单中无file文件上传时,数据要进行序列化处理,要将表单中的数据转为json数据格式

  1、序列化serialize()方法 重点内容

  格式:var data=$("#formid").serialize();,其中formid为表单id

  功能:将表单内容序列化成一个json结构的对象,注意不是json字符串。

  比如,[{"name":"lihui", "age":"20"},{...}] 获取数据为 jsonData[0].name

  这样在ajax提交表单数据的时候,就不用一一列举出每一个参数。主需要将data参数设置为 $("#formid").serialize() 即可。

  例子

<form>   <input type="text" value="姓名"/>   <pre>
  <input type="url" value="网址"/> <input type="email" value="电子邮件"/>   <input type="button" value="submit"id="submit" />
</form> //提交方法 var formData=$("#submit_form").serialize(); $.ajax({ type : \'POST\', url : url地址, data : formData,或者data:{$("#submit_form").serialize()},或者单个的参数data:{name:\'value\'} async : false, cache : false, contentType : false, processData : false, success : function(data) { //关闭弹框 alert("成功"); }, error : function(data) { alert("error!"); } }); //序列化表单对象

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwxsjj.html