ホームページ  >  記事  >  ウェブフロントエンド  >  node.js_node.js での querystring.parse メソッドの使用手順

node.js_node.js での querystring.parse メソッドの使用手順

WBOY
WBOYオリジナル
2016-05-16 16:27:481853ブラウズ

メソッドの説明:

文字列をオブジェクトに変換します。率直に言うと、実際には 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', 'qux'], corge: '' }

ソースコード:

コードをコピーします コードは次のとおりです:

// key=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 if (maxKeys > 0 && len > maxKeys) {
len = maxKeys;
}
for (var i = 0; i var x = qs[i].replace(regexp, ' '),
idx = x.indexOf(eq),
kstr、vstr、k、v;
If (idx >= 0) {
kstr = x.substr(0, idx);
vstr = x.substr(idx 1);
} else {
kstr = x;
vstr = '';
}
{
を試してください k = decodeURIComponent(kstr);
v = decodeURIComponent(vstr);
} キャッチ (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);
} else {
obj[k] = [obj[k], v];
}
}
obj を返します;
};

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。