Was ist der Unterschied zwischen .serialize () und .serializeArray ()?
Ich experimentiere mit Absenden des Formulars an eine Steuerung. jQuery-Dokumentation sagt, dass .serializeArray()
senden soll ein json-array, und .serialize() einen query-string.
Jedoch, wenn ich versuche es, und die Inspektion mit IE9 F12-Modus, es sieht aus wie ein query-string, in beiden Fällen. Die je Anruf, den ich machen...
Was bin ich?
InformationsquelleAutor der Frage kaze | 2012-05-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
serializeArray
erstellt ein array (nicht ein "json-array" - es gibt keine solche Sache); Sie können dies testen, sich mitconsole.log($("#myform").serializeArray())
. Auf der anderen Seiteserialize
erzeugt ein query-string, gemeint ist ein Teil einer HTTP-Anfrage. Beide Darstellungen sind äquivalent in dem Sinne, dass mit entsprechenden code können Sie konvertieren von einem zum anderen, ohne jede Zweideutigkeit.Den Grund für beide Versionen verfügbar ist, die
serialize
ist bequemer, wenn Sie wollen einfach nur, um eine HTTP-Anfrage (nur das Ergebnis in der Abfrage-string), währendserializeArray
ist bequemer, wenn Sie die Ergebnisse selbst.jQuery-AJAX-Methoden kümmern sich nicht, wenn man Ihnen die eine oder die andere, weil Sie erkennen den Typ der parameter und konvertieren Sie es in einen query-string, wenn es nicht bereits, so dass der Zeitpunkt der Anfrage ist aus Außenstehende Beobachter kann nicht sagen, was war das ursprüngliche format der Parameter.
InformationsquelleAutor der Antwort Jon