Penjelasan terperinci tentang menukar rentetan URL dan rentetan pertanyaan dalam nodejs_node.js

WBOY
Lepaskan: 2016-05-16 16:30:14
asal
1585 orang telah melayarinya

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

Salin kod Kod adalah seperti berikut:

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])

Salin kod Kod adalah seperti berikut:

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);

Code kopieren Der Code lautet wie folgt:

{ 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' }

Code kopieren Der Code lautet wie folgt:

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);

Code kopieren Der Code lautet wie folgt:

{ 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.

Code kopieren Der Code lautet wie folgt:

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.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan