Heim  >  Artikel  >  Web-Frontend  >  jquery+ajax implementiert die asynchrone Übermittlung von Formulardaten

jquery+ajax implementiert die asynchrone Übermittlung von Formulardaten

php中世界最好的语言
php中世界最好的语言Original
2018-04-19 14:17:372030Durchsuche

Dieses Mal bringe ich Ihnen jquery+Ajax, um die asynchrone Übermittlung von Formulardaten zu implementieren, und jquery+ajax, um die asynchrone Übermittlung von Formulardaten zu implementieren , und das Folgende ist der eigentliche Kampf. Schauen wir uns den Fall an. Verwenden Sie die Ajax-Methode von jquery, um das Formular asynchron zu senden. Nach Erfolg werden die JSON-Daten im Hintergrund zurückgegeben und die

Rückruffunktion

verarbeitet sie, ohne die Seite zu aktualisieren asynchrone Zwecke; Die im Formular verarbeiteten Daten können mit der Methode serialize() serialisiert werden. Wenn die übermittelten Daten einen Dateistream enthalten, müssen Sie das FormData-Objekt verwenden:

Formulardaten ohne Dateien verwenden: var data = $(form).serialize();

Formulardaten mit Dateien verwenden: var data = new FormData($(form)[0]);

1. Ajax-Übermittlungsdaten ohne Dateien:

html: Formular

Asynchrone JQuery-Verarbeitung
 <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>

 $("#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("请求失败")
     }
    })
    
 })
2. Ajax-Übermittlungsdaten mit Dateien:

html: Formular

Formulare mit

Datei-Upload

müssen das enctype="multipart/form-data"-Attribut zum

-Tag hinzufügen:

Asynchrone JQuery-Verarbeitung
<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>

Das Obige besteht darin, das Formular zu verwenden, um das FormData-Objekt zu erstellen. Wenn kein Formular vorhanden ist, lautet die Verarbeitungsmethode wie folgt:
$("#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("请求失败")
     }
    })
    
 })

html: Kein Formular

Asynchrone JQuery-Verarbeitung:
<p id="uploadFile">
 <input id="file" name="avatar" type="file"/>
 <button id="upload" data-url="/admin/upload" type="button">上传头像</button>
</p>

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
$("#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("请求失败")
     }
    })
    
 })

Empfohlene Lektüre:

JQuery zum Implementieren der Front-End-Suche verwenden


Jquery wählte Dropdown-Feldwertstatistiken aus das Textfeld


jQuery zTree fügt während des asynchronen Prozesses wiederholt untergeordnete Knoten hinzu


Wie jQuery Seitenelemente dynamisch steuert


Das obige ist der detaillierte Inhalt vonjquery+ajax implementiert die asynchrone Übermittlung von Formulardaten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn