Die Methode serialize() von
jQuery serialisiert die Daten im Formular in eine URL-codierte Zeichenfolge. In einigen Fällen müssen wir jedoch rohe, nicht codierte Zeichenfolgen verwenden. In diesem Fall können wir die Methode serializeArray() verwenden, um die Formulardaten in ein JSON-Array zu konvertieren, und dann unseren eigenen Code schreiben, um sie in das erforderliche Format zu verarbeiten.
In diesem Artikel stellen wir vor, wie Sie mit jQuery uncodierte Formulardaten verarbeiten.
Bei Verwendung der Methode serialize() von jQuery werden die Daten URL-codiert, wodurch sichergestellt wird, dass die Daten sicher sind und zwischen verschiedenen Anwendungen übertragen werden können. Aber manchmal müssen wir die Rohdaten des Formulars direkt an den Backend-Server senden, anstatt sie zuerst zu kodieren und dann zu senden.
Zum Beispiel dekodieren einige Backend-Frameworks wie Spring MVC automatisch URL-codierte Formulardaten, wenn sie diese empfangen. Das bedeutet, dass wir bei der Verwendung der Methode serialize() darauf achten müssen, ob die Daten codiert werden müssen.
Wenn wir eine Anfrage mit rohen, uncodierten Formulardaten senden möchten, können wir die Methode serializeArray() verwenden, um die Formulardaten in ein JSON-Array zu konvertieren. Diese Methode konvertiert jedes Element im Formular in ein Objekt, das die Namens-, Wert- und Typattribute des Elements enthält.
Zum Beispiel das folgende Formular:
Sie können es mit dem folgenden Code in ein JSON-Array konvertieren:
var formData = $("form").serializeArray();
Die Datenstruktur von Das Array sieht wie folgt aus:
[
{ Name: „Benutzer“, Wert: „Alice“, Typ: „Text“ },
{ Name: „Passwort“, Wert: „123456“, Typ: „Text“ }
]
2.1 Datenverarbeitungslogik automatisch schreiben
Als nächstes können wir die Datenverarbeitungslogik selbst entsprechend unseren eigenen Anforderungen schreiben. Der folgende Code konvertiert beispielsweise ein JSON-Array in rohe, uncodierte Formulardaten:
var formData = $("form").serializeArray();
var rawData = {};
formData.forEach(function(item ) {
rawData[item.name] = item.value;
});
console.log($.param(rawData)); // user=Alice&password=123456
2.2 Verwenden Sie die Methode $.param() zu Daten, die in eine nicht codierte Zeichenfolge serialisiert werden
Wenn wir nicht codierte Formulardaten wie die Methode serialize() verwenden möchten, können wir die Methode $.param() von jQuery verwenden, um die Daten zu serialisieren.
var formData = $("form").serializeArray();
var rawData = {};
formData.forEach(function(item) {
rawData[item.name] = item.value;
}) ;
console.log($.param(rawData, true)); // user=Alice&password=123456
Es ist zu beachten, dass bei Verwendung der Methode $.param() der zweite Parameter auf true gesetzt werden muss , um sicherzustellen, dass die Ausgabedaten unverschlüsselt sind.
In diesem Artikel haben wir behandelt, wie man jQuery zum Umgang mit nicht codierten Formulardaten verwendet. Mithilfe der Methode serializeArray() können wir die Formulardaten in ein JSON-Array konvertieren und dann den Code selbst schreiben, um ihn im erforderlichen Format zu verarbeiten. Wenn Sie die Daten in eine nicht codierte Zeichenfolge serialisieren müssen, können Sie die Methode $.param() von jQuery verwenden und den zweiten Parameter auf true setzen.
Obwohl es in manchen Fällen notwendig ist, rohe, unverschlüsselte Formulardaten zu verwenden, empfehlen wir in den meisten Fällen die Verwendung der Methode serialize(). Diese Methode kann die Datensicherheit gewährleisten und Hintergrundfehler reduzieren, die durch nicht standardmäßige Datenformate verursacht werden.
Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie jQuery mit nicht codierten Formulardaten umgeht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!