Rumah  >  Artikel  >  hujung hadapan web  >  Pengenalan kepada kaedah yang berkaitan dengan URL pengendalian dalam URL nodejs module_node.js

Pengenalan kepada kaedah yang berkaitan dengan URL pengendalian dalam URL nodejs module_node.js

WBOY
WBOYasal
2016-05-16 16:11:361070semak imbas

modul url

Modul url sangat digunakan semasa memproses permintaan HTTP, kerana modul ini membenarkan menghuraikan URL, menjana URL dan menyambung URL. Mula-mula mari kita lihat komponen URL lengkap.

Salin kod Kod adalah seperti berikut:

                           href
------------------------------------------------- ---------------
laluan hos
------------------------------------------------- ------------------------------------------------- ----------- http: // user:pass @ host.com : 8080 /p/a/t/h ?query=string #hash
----- --------- -------- ---- -------- ------------- --- --
protokol auth nama hos port nama laluan cincang carian
                                                                                                                                                                                                                                                                                                                                                        Sejak pertanyaan


Kita boleh menggunakan kaedah .parse untuk menukar rentetan URL kepada objek URL Contohnya adalah seperti berikut.


url.parse('http://user:pass@host.com:8080/p/a/t/h?query=string#hash');
/* =>
{ protokol: 'http:',
auth: 'pengguna:lulus',
hos: 'host.com:8080',
port: '8080',
nama hos: 'host.com',
cincang: '#cincang',
cari: '?query=string',
pertanyaan: 'query=string',
nama laluan: '/p/a/t/h',
laluan: '/p/a/t/h?query=string',
href: 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash' }
*/


Perkara yang dihantar kepada kaedah .parse tidak semestinya URL lengkap Contohnya, dalam fungsi panggil balik pelayan HTTP, request.url tidak mengandungi pengepala protokol dan nama domain, tetapi ia juga boleh dihuraikan menggunakan .parse. kaedah.


http.createServer(fungsi (permintaan, respons) {
var tmp = request.url; // => "/foo/bar?a=b"
url.parse(tmp);
/* =>
{ protokol: batal,
       garis miring: batal,
auth: batal,
Hos: batal,
Pelabuhan: null,
Nama hos: null,
       cincang: null,
Cari: '?a=b',
Pertanyaan: 'a=b',
Nama laluan: '/foo/bar',
Laluan: '/foo/bar?a=b',
href: '/foo/bar?a=b' }
*/
}).dengar(80);


Kaedah .parse juga menyokong parameter pilihan kedua dan ketiga jenis Boolean. Apabila parameter kedua adalah sama dengan benar, dalam objek URL yang dikembalikan oleh kaedah ini, medan pertanyaan bukan lagi rentetan, tetapi objek parameter ditukar oleh modul rentetan pertanyaan. Apabila parameter ketiga adalah sama dengan benar, kaedah ini boleh menghuraikan URL dengan betul tanpa pengepala protokol, seperti //www.example.com/foo/bar.

Seterusnya, kaedah format membenarkan menukar objek URL kepada rentetan URL, seperti yang ditunjukkan di bawah.


Salin kod Kod adalah seperti berikut:

url.format({
Protokol: 'http:',
Hos: 'www.example.com',
Nama laluan: '/p/a/t/h',
Cari: 'query=string'
});
/* =>
'http://www.example.com/p/a/t/h?query=string'
*/

Selain itu, kaedah .resolve boleh digunakan untuk menyambung URL, seperti yang ditunjukkan di bawah.
Salin kod Kod adalah seperti berikut:

url.resolve('http://www.example.com/foo/bar', '../baz');
/* =>

http://www.example.com/baz

*/

Rentetan Pertanyaan

Modul rentetan pertanyaan digunakan untuk menukar rentetan parameter URL dan objek parameter kepada dan daripada satu sama lain Contoh adalah seperti berikut.

Salin kod Kod adalah seperti berikut:

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

querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' });
/* =>
'foo=bar&baz=qux&baz=quux&corge='
*/
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