メソッド説明:
文字列をオブジェクトに変換します。率直に言うと、実際にURL上のパラメーター文字列を配列オブジェクトに変換しています。 (例を見ることでわかります)
文法:
コードコピーは次のとおりです。
QueryString.Parse(str、[sep]、[eq]、[options])
パラメーターを受信:
str
SEPはセパレーターを設定し、デフォルトは「&」です
eqは割り当て文字を設定し、デフォルトは '='です
[オプション] MaxKeys受け入れることができる文字列の最大長さ、デフォルトは1000です
例:
コードコピーは次のとおりです。
QueryString.Parse( 'foo = bar&baz = qux&baz = quux&corge')
//返品
{foo: 'bar'、baz:['qux'、 'quux']、corge: ''}
ソースコード:
コードコピーは次のとおりです。
//キー= val文字列を解析します。
queryString.parse = queryString.decode = function(qs、sep、eq、options){
Sep = Sep || '&';
eq = eq || '=';
var obj = {};
if(!util.isstring(qs)|| qs.length === 0){
OBJを返します。
}
var regexp = //+/g;
qs = qs.split(SEP);
var maxkeys = 1000;
if(options && util.isnumber(options.maxkeys)){
maxkeys = options.maxkeys;
}
var len = qs.length;
// maxkeys <= 0は、キーカウントを制限しないことを意味します
if(maxkeys> 0 && len> maxkeys){
len = maxkeys;
}
for(var i = 0; i <len; ++ i){
var x = qs [i] .replace(regexp、 '%20')、
idx = x.indexof(eq)、
KSTR、VSTR、K、V;
if(idx> = 0){
KSTR = X.SUBSTR(0、IDX);
vstr = x.substr(idx + 1);
} それ以外 {
KSTR = X;
vstr = '';
}
試す {
k = decodeuricomponent(KSTR);
v = decodeuricomponent(vstr);
} catch(e){
k = querystring.unescape(kstr、true);
v = querystring.unescape(vstr、true);
}
if(!hasownproperty(obj、k)){
obj [k] = v;
} else if(util.isarray(obj [k])){
obj [k] .push(v);
} それ以外 {
obj [k] = [obj [k]、v];
}
}
OBJを返します。
};