Description de la méthode :
Convertir la chaîne en objet. Pour parler franchement, il convertit en fait la chaîne de paramètres de l'URL en un objet tableau. (Vous le saurez rien qu'en regardant l'exemple)
Grammaire :
Paramètres de réception :
str La chaîne à convertir
sep Définissez le délimiteur, la valeur par défaut est '&'
eq Définissez le caractère d'affectation, la valeur par défaut est '='
[options] maxKeys La longueur maximale des chaînes acceptables, la valeur par défaut est 1000
Exemple :
Code source :
// Analyser une chaîne key=val.
QueryString.parse = QueryString.decode = function(qs, sep, eq, options) {
septembre = septembre || '&';
eq = eq || '=';
var obj = {};
if (!util.isString(qs) || qs.length === 0) {
Retourner l'objet ;
>
var expression rationnelle = / /g;
qs = qs.split(sep);
var maxKeys = 1000;
if (options && util.isNumber(options.maxKeys)) {
maxKeys = options.maxKeys;
>
var len = qs.longueur;
// maxKeys <= 0 signifie que nous ne devons pas limiter le nombre de clés
si (maxKeys > 0 && len > maxKeys) {
len = maxKeys;
>
pour (var je = 0; je < len; je) {
var x = qs[i].replace(regexp, ' '),
idx = x.indexOf(eq),
kstr, vstr, k, v;
Si (idx >= 0) {
kstr = x.substr(0, idx);
vstr = x.substr(idx 1);
} autre {
kstr = x;
vstr = '';
>
Essayez {
k = decodeURIComponent(kstr);
v = decodeURIComponent(vstr);
} attraper(e) {
k = QueryString.unescape(kstr, true);
v = QueryString.unescape(vstr, true);
>
Si (!hasOwnProperty(obj, k)) {
obj[k] = v;
} sinon if (util.isArray(obj[k])) {
obj[k].push(v);
} autre {
obj[k] = [obj[k], v];
>
>
Retourner l'objet ;
};