23/05/2014, 13:44
|
| Javascripter | | Fecha de Ingreso: abril-2009 Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses Puntos: 1485 | |
Respuesta: javascript split & Cita:
Iniciado por el junco En cuanto a que pasaría con foo=bar&o=object y quiero capturar el parámetro o, si que funciona, porque es precisamente lo que estoy haciendo, ya que estoy recuperando el segundo parametro. ¿supones, o lo comprobaste? a mi me devuelve bar en lugar de object. en todo caso, lo haría de esta forma.
Código:
String.prototype.query = function(split, begin){
var split = split || ['&', '='], query = this, queryObj = {};
if(split.constructor != Array || split.length != 2)throw new TypeError('Excepted type of argument not valid or argument lenght size not allowed.');
if(begin)query = query.replace(begin, '');
query = query.split(split[0]);
while(query.length){
var pair = query.shift().split(split[1]);
if(pair[0] in queryObj){
if(queryObj[pair[0]].constructor != Array)queryObj[pair[0]] = new Array(queryObj[pair[0]]);
queryObj[pair[0]].push(decodeURIComponent(pair[1]));
}
else queryObj[pair[0]] = (pair[1])? decodeURIComponent(pair[1]): undefined;
}
return queryObj;
}
GET = 'foo=bar&o=object'.query();
GET['o']; // object;
__________________ la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad. |