Rumah  >  Artikel  >  hujung hadapan web  >  Arahan untuk menggunakan kaedah querystring.parse dalam node.js_node.js

Arahan untuk menggunakan kaedah querystring.parse dalam node.js_node.js

WBOY
WBOYasal
2016-05-16 16:27:481853semak imbas

Penerangan kaedah:

Tukar rentetan kepada objek. Secara terang-terangan, ia sebenarnya menukar rentetan parameter pada url menjadi objek tatasusunan. (Anda akan tahu hanya dengan melihat contoh)

Tatabahasa:

Salin kod Kod adalah seperti berikut:

querystring.parse(str, [sep], [eq], [options])

Terima parameter:

str Rentetan yang hendak ditukar

sep Tetapkan pembatas, lalai ialah ‘&’

eq Tetapkan aksara tugasan, lalai ialah ‘=’

[pilihan] maxKeys Panjang maksimum rentetan yang boleh diterima, lalai ialah 1000

Contoh:

Salin kod Kod adalah seperti berikut:

querystring.parse('foo=bar&baz=qux&baz=quux&corge')
// kembali
{ foo: 'bar', baz: ['qux', 'quux'], corge: '' }

Kod sumber:

Salin kod Kod adalah seperti berikut:

// Parse a key=val string.
QueryString.parse = QueryString.decode = fungsi(qs, sep, eq, pilihan) {
sep = sep ||. '&';
eq = eq ||. '=';
var obj = {};
if (!util.isString(qs) || qs.length === 0) {
Kembalikan 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 bermakna kita tidak seharusnya mengehadkan kiraan kunci
jika (maxKeys > 0 && len > maxKeys) {
len = maxKeys;
}
untuk (var i = 0; i < len; i) {
var x = qs[i].replace(regexp, ' '),
​​​​ idx = x.indexOf(eq),
         kstr, vstr, k, v;
Jika (idx >= 0) {
       kstr = x.substr(0, idx);
       vstr = x.substr(idx 1);
} lain {
        kstr = x;
      vstr = '';
}
Cuba {
       k = decodeURIComponent(kstr);
v = decodeURIComponent(vstr);
} tangkap (e) {
k = QueryString.unescape(kstr, benar);
v = QueryString.unescape(vstr, benar);
}
Jika (!hasOwnProperty(obj, k)) {
       obj[k] = v;
} lain jika (util.isArray(obj[k])) {
       obj[k].push(v);
} lain {
       obj[k] = [obj[k], v];
}
}
Kembalikan obj;
};

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn