Heim >Web-Frontend >js-Tutorial >Vergleichen Sie die Unterschiede und die Verwendung von serialize(), serializeArray() und param() in JQuery

Vergleichen Sie die Unterschiede und die Verwendung von serialize(), serializeArray() und param() in JQuery

巴扎黑
巴扎黑Original
2017-07-03 13:54:261110Durchsuche

Die Methode

serialize() wirkt auch auf ein JQuery-Objekt, das den Inhalt des DOM-Elements in einen String serialisieren kann Geben Sie keinen String zurück, sondern geben Sie nach der Serialisierung der DOM-Elemente die Daten im JSON-Format zurück

Das Folgende ist der JSP-Code auf der Serverseite:


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 
<% 
request.setCharacterEncoding("UTF-8"); 
String username = request.getParameter("username"); 
String content = request.getParameter("content"); 
out.println("<p class=&#39;comment&#39;><h6> "+username+" :</h6><p class=&#39;para&#39;> "+content+" 
</p></p>"); 
%>

mit JQuery Wie andere Methoden in JQuery wirkt auch die Methode serialize() auf ein JQuery-Objekt, das den Inhalt von DOM-Elementen in Strings für Ajax-Anfragen serialisieren kann. Mit der Methode serialize() können Sie alle Felder auf dieser Seite senden. Der Code lautet wie folgt:


$("#send").click(function(){ 
$.get("get1.jsp", $("#form1").serialize(), function(data, textStatus) 
$("#resText").html(data); 
});
});

Wenn auf die Schaltfläche „Senden“ geklickt wird, Alle zu form1 gehörenden Formulare Alle Elemente können an den Hintergrund gesendet werden. Auch wenn dem Formular zusätzliche Felder hinzugefügt werden, kann das Skript weiterhin verwendet werden und es ist keine weitere redundante Arbeit erforderlich.

Bei Verwendung des String-Modus müssen Sie auf die Zeichenkodierung achten (chinesisches Problem). Wenn Sie nicht möchten, dass die Kodierung Probleme verursacht, können Sie die Methode serialize() verwenden, die automatisch kodiert.

Da die Methode serialize() auf JQuery-Objekte wirkt, können nicht nur Formulare sie verwenden, sondern auch von anderen Selektoren ausgewählte Elemente, wie zum Beispiel der folgende JQuery-Code:


$(":checkbox,:radio").serialize();

Serialisiert die Werte des Kontrollkästchens und des Optionsfelds in Zeichenfolgenform. Nur der ausgewählte Wert wird serialisiert.

Es gibt auch eine Methode ähnlich wie serialize() in JQuery – serializeArray(). Diese Methode gibt keinen String zurück, sondern serialisiert die DOM-Elemente und gibt Daten im JSON-Format zurück. Der JQuery-Code lautet wie folgt:


var fields = $(":checkbox,:radio").serializeArray();
console.log(fields); //用FireBug输出

Die Methode $.param() ist der Kern der Methode serialize(), die zum Serialisieren eines Arrays oder Objekts verwendet wird nach Schlüssel/Wert.

Serialisieren Sie beispielsweise ein normales -Objekt:


var obj = {a:1,b:2,c:3};
var k = $.param(obj);
alert(k); //输出a=1&b=2&c=3

Das obige ist der detaillierte Inhalt vonVergleichen Sie die Unterschiede und die Verwendung von serialize(), serializeArray() und param() in JQuery. 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