成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? jquery ajax異步提交表單數據的方法
全站頭部文字 我要出現在這里
jquery ajax異步提交表單數據的方法 696 2024-02-04   

使用jquery的ajax方法可以異步提交表單,成功后后臺返回json數據,回調函數處理,可以不用刷新頁面,達到異步的目的;

處理表單的數據可以用serialize()方法進行序列化,而如果提交的數據包括文件流的話,就需要使用 FormData對象:

不帶文件的表單數據使用:var data = $(form).serialize();

帶文件的表單數據使用: var data = new FormData($(form)[0]);

一、不帶文件的ajax提交數據:

html:form表單

 <form id="addForm" action="${pageContext.request.contextPath}/admin/saveAdd" method="post">    
  <input type="text" name="name" placeholder="請輸入名字" />
  <input type="password" name="password" placeholder="密碼"/>
 </form>
<button type="button" id="submitAdd">確認</button> 

jquery 異步處理

 $("#submitAdd").click(function(){
    
   var targetUrl = $("#addForm").attr("action");    
   var data = $("#addForm").serialize();     
    $.ajax({ 
     type:'post',  
     url:targetUrl, 
     cache: false,
     data:data,  
     dataType:'json', 
     success:function(data){      
       alert('success');
     },
     error:function(){ 
      alert("請求失敗")
     }
    })
    
 })

二、帶文件的ajax提交數據:

html:form表單

有文件上傳的form表單需要在<form>標簽里加入 enctype="multipart/form-data"屬性 :

<form id="addForm" action="${pageContext.request.contextPath}/admin/saveAdd" method="post"enctype=" multipart/form-data">    
  <input type="text" name="name" placeholder="請輸入名字" />
  <input type="password" name="password" placeholder="密碼"/>
  <input type="file" name="avatar" />
 </form>
<button type="button" id="submitAdd">確認</button>

jquery 異步處理

$("#submitAdd").click(function(){
    
   var targetUrl = $("#addForm").attr("action");    
   var data = new FormData($( "#addForm" )[0]);     
    $.ajax({ 
     type:'post',  
     url:targetUrl, 
     cache: false,    //上傳文件不需緩存
     processData: false, //需設置為false。因為data值是FormData對象,不需要對數據做處理
     contentType: false, //需設置為false。因為是FormData對象,且已經聲明了屬性enctype="multipart/form-data"
     data:data,  
     dataType:'json', 
     success:function(data){      
       alert('success');
     },
     error:function(){ 
      alert("請求失敗")
     }
    })
    
 })

上面是用<form>表單來構建FormData對象,如果沒有<form>表單處理方式如下:

html:沒有form表單

<div id="uploadFile">
 <input id="file" name="avatar" type="file"/>
 <button id="upload" data-url="/admin/upload" type="button">上傳頭像</button>
</div>

jquery異步處理:

$("#upload").click(function(){
    
   var targetUrl = $(this).attr("data-url");    
   var data = new FormData();
   //FormData對象加入參數
   data.append('file', $('#file')[0].files[0]); //'file' 為參數名,$('#file')[0].files[0])獲取上傳的文件,如果需上傳多個文件,要在<input>標簽加上屬性multiple    
    $.ajax({ 
     type:'post',  
     url:targetUrl, 
     cache: false,    
     processData: false, 
     contentType: false, 
     data:data,  
     dataType:'json', 
     success:function(data){      
       alert('success');
     },
     error:function(){ 
      alert("請求失敗")
     }
    })
    
 })

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持綠夏網。



主站蜘蛛池模板: 好看电影视频| a b a b四字成语| 大团圆李静张娴| 违规吃喝研讨发言材料| 卓别林电影全集免费观看| 捉泥鳅的歌词| 蒙古小男孩唱哭全场| 亚洲免费观看视频| 美女被吃掉| 人流后吃什么| 斯科| 顺风| 卢载铉| 大奉打更人电视剧在线观看全集免费播放| 防冲撞应急处置预案| 红衣服| 魔鬼黑狱| 免费播放高清完整版电影| 87版七仙女台湾| 说木叶原文| 父子激情视频| 吴政世| 四 电影| donatella damiani| 康熙王朝电视剧多少集| 花样美男| 铁探粤语版在线观看| 青山知可子最经典十部电视剧| 梵缺| 疯狂愚蠢的爱| 床上黄色片| 廖凡和莫小棋主演的一半火焰一半海水| 飞砂风中转| 大奉打更人电视剧| 黄视频在线播放| 买下我俄罗斯完整版免费观看| 甜蜜宝贝电影| 肉丸3| 骆文博| 美腿丝袜高跟三级视频| 女同恋性吃奶舌吻完整版|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103