Dalam rentetan URL yang lengkap, bahagian daripada "?" (tidak termasuk ?) hingga "#" (jika # wujud) atau ke hujung rentetan URL (jika # tidak wujud) dipanggil rentetan pertanyaan .
Anda boleh menggunakan kaedah parse dalam modul Rentetan Pertanyaan untuk menukar rentetan kepada objek Kaedah parse digunakan seperti berikut:
querystring.parse(str,[sep],[eq],[options]);
str mewakili rentetan pertanyaan yang ditukar,
sep. Pembatas dalam rentetan, lalai ialah &
eq. Aksara peruntukan dalam rentetan ini, lalai ialah =."="Sebelah kiri ialah kunci dan sebelah kanan ialah nilai
pilihan: ialah objek Anda boleh menggunakan atribut maxKeys jenis nilai integer dalam objek untuk menentukan bilangan atribut dalam objek yang ditukar Jika nilai atribut maxKeys ditetapkan kepada 0, kesannya adalah bersamaan dengan tidak menggunakan maxKeys. Nilai Atribut
var querystring=require("querystring");
var str="nama pengguna=guoyansi&age=40&jantina=lelaki";
var res=querystring.parse(str);
console.log("1:%j",res);//1:{"nama pengguna":"guoyansi","umur":"40","jantina":"lelaki"}
res=querystring.parse(str,"!");
console.log("2:%j",res);//2:{"nama pengguna":"guoyansi&age=40&sex=male"}
res=querystring.parse(str,"&");
console.log("3:%j",res);//3:{"nama pengguna":"guoyansi","umur":"40","jantina":"lelaki"}
str="nama pengguna=guoyansi!umur=40!jantina=lelaki";
res=querystring.parse(str,"!");
console.log("4:%j",res);//4:{"nama pengguna":"guoyansi","umur":"40","jantina":"lelaki"}
res=querystring.parse(str,"!","=");
console.log("5:%j",res);//5:{"nama pengguna":"guoyansi","umur":"40","jantina":"lelaki"}
res=querystring.parse(str,"!",":");
console.log("6:%j",res);//6:{"nama pengguna=guoyansi":"","umur=40":"","seks=lelaki":""}
res=querystring.parse(str,"!","=",{maxKeys:2});
console.log("7:%j",res);//7:{"nama pengguna":"guoyansi","umur":"40"}
Stringify ialah format yang menukar rentetan kepada rentetan pertanyaan.
querystring.stringify(obj,[sep],[eq])
var querystring=require("querystring");
var res= querystring.stringify({"nama pengguna":"guoyansi","umur":"40","jantina":"lelaki"});
console.log(res);//username=guoyansi&age=40&jantina=lelaki
res=querystring.stringify({"nama pengguna":"guoyansi","umur":"40","jantina":"lelaki"},"!");
console.log(res);//username=guoyansi!age=40!sex=lelaki
res=querystring.stringify({"nama pengguna":"guoyansi","umur":"40","jantina":"lelaki"},"&",":");
console.log(res);//nama pengguna:guoyansi&umur:40&jantina:lelaki
res=querystring.stringify({"nama pengguna":"guoyansi","umur":["40","24"]},"&","=");
console.log(res);//username=guoyansi&age=40&age=24
Dalam modul url, anda boleh menggunakan kaedah parse() untuk menukar rentetan URL kepada objek Bergantung pada kandungan yang berbeza dalam rentetan URL, atribut yang mungkin ada pada objek dan maknanya adalah seperti berikut.
href: Rentetan URL asal yang ditukar.
protokol: Protokol yang digunakan oleh klien semasa membuat permintaan.
garis miring: Gunakan pemisah "//" antara protokol dan laluan.
hos: Alamat lengkap dan nombor port dalam rentetan URL Alamat mungkin alamat IP atau nama hos
auth: Bahagian maklumat pengesahan dalam rentetan URL.
nama hos: Alamat lengkap dalam rentetan URL, yang mungkin alamat IP atau nama hos
carian: Rentetan pertanyaan dalam rentetan Url, termasuk aksara permulaan "?"
laluan: Laluan dalam rentetan url, termasuk rentetan pertanyaan.
pertanyaan: Rentetan pertanyaan dalam rentetan url, tidak mengandungi aksara permulaan "?", atau objek ditukar berdasarkan rentetan pertanyaan (nilai atribut pertanyaan ditentukan berdasarkan parameter yang digunakan dalam kaedah parse()
cincang: rentetan cincang dalam rentetan url, termasuk aksara permulaan "#".
url.parse(urlstr,[parseQueryString]);
urlStr: ialah rentetan URL yang perlu ditukar,
parseQueryString: ialah nilai Boolean Apabila parameter adalah benar, modul rentetan pertanyaan digunakan secara dalaman untuk menukar rentetan pertanyaan kepada objek Apabila nilai parameter palsu, operasi penukaran tidak dilakukan
var url=require("url");
var str="
http://user:pass@host,com:8080/users/user.php?username=sisi&age=24&sex=lelaki#name1
";
var res=url.parse(str);
console.log(res);
{ Protokoll: 'http:',
Schrägstriche: wahr,
auth: 'user:pass',
host: 'host:8080',
Port: '8080',
Hostname: 'Host',
Hash: '#name1',
Suche: '?username=sisi&age=24&sex=male',
Abfrage: 'Benutzername=sisi&age=24&sex=männlich',
Pfadname: '/,com/users/user.php',
Pfad: '/,com/users/user.php?username=sisi&age=24&sex=male',
href: 'http://user:pass@host:8080/,com/users/user.php?username=sisi&age=24&sex=male#name1' }
var url=require("url");
var str="
http://user:pass@host,com:8080/users/user.php?username=sisi&age=24&sex=male#name1";
var res=url.parse(str,true);
console.log(res);
{ Protokoll: 'http:',
Schrägstriche: wahr,
auth: 'user:pass',
host: 'host:8080',
Port: '8080',
Hostname: 'Host',
Hash: '#name1',
Suche: '?username=sisi&age=24&sex=male',
Abfrage: { Benutzername: 'sisi', Alter: '24', Geschlecht: 'männlich' },
Pfadname: '/,com/users/user.php',
Pfad: '/,com/users/user.php?username=sisi&age=24&sex=male',
href: 'http://user:pass@host:8080/,com/users/user.php?username=sisi&age=24&sex=male#name1' }
Der Unterschied zwischen dem ersten Beispiel und dem zweiten Beispiel ist der zweite Parameter von parse, der zu einer anderen Abfrage im Ergebnis führt
Sie können ein URL-konvertiertes Objekt in eine URL-Zeichenfolge konvertieren.
var url=require("url");
var str="
http://user:pass@host,com:8080/users/user.php?username=sisi&age=24&sex=male#name1";
var res=url.parse(str,true);
console.log(url.format(res));
Das Ergebnis ist:
http://user:pass@host:8080/,com/users/user.php?username=sisi&age=24&sex=male#name1
Oben dreht sich alles um die Konvertierung von URL-Zeichenfolgen und Abfragezeichenfolgen in Knoten. Wenn Sie es sorgfältig studieren, ist es eigentlich ganz einfach.