2010-06-23 4 views
5

Je souhaite sérialiser et annuler la sérialisation d'un formulaire avec jQuery.jQuery serialize et unserialize

Comment puis-je obtenir tous les attributs de tous les éléments d'une manière sérialisée?

Répondre

1

jQuery a une fonction serialize.

$("#form").serialize(); // Returns serialized string 

Référence:. http://api.jquery.com/serialize/

+9

qu'en est-il de désérialiser? –

+0

@PabloPazos Voir [ce lien] (https://gist.github.com/rcmachado/242617) – ako

1

Tous les éléments du formulaire sera envoyé le long si vous utilisez le $ ('form') sérialisation();

15

.serialize() cartographiera vos commandes d'entrée qui ont un nom attribut défini dans une chaîne de requête standard:

foo=bar&bar=foo&and=soon 

Ce genre de chaîne est facile accesible dans presque toutes les langues de programmation « back-end ».

Si vous devez sérialiser des informations d'objet, utilisez JSON.

var obj = { 
    foo: 'bar', 
    more: 'etc 
}; 

de sérialiser avec window.JSON.stringify(obj);. Pour désérialiser une telle chaîne JSON, utilisez window.JSON.parse(str);, qui renvoie un objet javascript.

De nombreuses langues supportent ce principe.

+1

salut là, pourquoi jquery utilise l'attribut name pour sérialiser un formulaire (au lieu d'utiliser l'attribut id?) – frabiacca

+0

@frabiacca parce que est comment HTTP POST et HTTP GET fonctionnent. Ils utilisent le nom du nom de la variable et la valeur de la valeur de la variable. Nommez les paires de valeurs. Nom = valeur & varnam = varval & custvar = custval ... etc .. – SgtPooki

+0

Cela devrait être la réponse acceptée. –

Questions connexes