收藏本站 收藏本站
積木網首頁 - 軟件測試 - 常用手冊 - 站長工具 - 技術社區
首頁 > JavaScript > jQuery > 正文

首頁 - PHP - 數據庫 - 操作系統 - 游戲開發 - JS - Android - MySql - Redis - MongoDB - Win8 - Shell編程 - DOS命令 - jQuery - CSS樣式 - Python - Perl

Access - Oracle - DB2 - SQLServer - MsSql2008 - MsSql2005 - Sqlite - PostgreSQL - node.js - extjs - JavaScript vbs - Powershell - Ruby

jquery ajax異步提交表單數據的方法

使用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("請求失敗")
     }
    })
    
 })

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

jQuery實現點擊下拉框中的值累加到文本框中的方法示例
本文實例講述了jQuery實現點擊下拉框中的值累加到文本框中的方法。分享給大家供大家參考,具體如下:先來看看運行效果:具體代碼如下:!DOCTYPEhtmlht

jQuery實現的簡單前端搜索功能示例
本文實例講述了jQuery實現的簡單前端搜索功能。分享給大家供大家參考,具體如下:html代碼:!DOCTYPEhtmlhtmllang="en"headmetacharset="UTF-8"title工程輕量化與可

springmvc接收jquery提交的數組數據代碼分享
這里分享給大家的代碼是springmvc接收jquery提交的數組數據的相關內容,具體代碼如下:varselectedUsers=$('#users').tagbox('getValues');if(selectedUsers.length0){$.post(appP

本周排行

更新排行

強悍的草根IT技術社區,這里應該有您想要的! 友情鏈接:b2b電子商務
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP備05050695號
时时彩免费分析软件