miércoles, 9 de mayo de 2012

jQuery unparam: función inversa de jQuery param

jQuery posee una función llamada param, la cual transforma un objeto en una cadena de texto en formato URL de datos. El problema se presenta cuando nos encontramos en la situación contraria, tenemos una URL de datos y queremos convertirlo en un objeto, es entonces cuando no tenemos ninguna función que realice el proceso descrito.

Hay diversas alternativas por Internet y las que he probado no me han convencido, ya que no funcionan como deberían. Algunas de esas alternativas no leen recursivamente los objetos dentro de objetos (data[a][b]=c) y otras lo hacen malamente, obteniendo un resultado que para nada es el esperado.

¿Qué es jQuery unparam?

jQuery.unparam es la función inversa de jQuery.param y nos permitirá transformar una URL de datos en un objeto.

¿Cómo se utiliza?

Tan solo debemos introducirle como único parámetro la cadena de texto en formato URL, por ejemplo:

var str = 'a=one&b[]=two&b[]=three&b[c]=four';
console.log($.unparam(str)); // {"a":"one","b":{"0":"two","1":"three","c":"four"}}

En la siguiente dirección podéis acceder a una demostración para ver su funcionamiento con datos más complejos: http://jsfiddle.net/yeikos/9Sv3p/.

Código fuente: https://raw.github.com/yeikos/jquery.unparam/master/jquery.unparam.js
Repositorio Github: https://github.com/yeikos/jquery.unparam

Descarga (versión comprimida)https://raw.github.com/yeikos/jquery.unparam/master/jquery.unparam.min.js

No hay comentarios:

Publicar un comentario en la entrada