JavaScriptда URL билан ишлаш

JavaScriptда баъзан ҳавола манзиллари билан ишлашга тўғри келади. Бунинг учун URL синфи URL ёрдамида манзил қисмларини олиш ва ўзгартириш имкони мавжуд.

Унинг билан ишлашни куйидаги манзил мисолида кўрамиз:

javascriptlet path = 'http://site.ru:3000/dir/eee/page.html#show?a=1&b=2&c=3';

URL синфидан объект яратамиз, унга параметр сифатида бизнинг манзилни берамиз:

javascriptlet url = new URL(path);

Яратилган объектнинг қандай хусусиятлари борлигини кўрамиз.

Протокол

protocol хусусияти ёрдамида протоколни олиш мумкин:

javascriptlet res = url.protocol;
console.log(res); // 'http://' чиқади

Хост

host хусусияти ёрдамида порт билан домен номини олиш мумкин:

javascriptlet res = url.host;
console.log(res); // 'site.ru:3000' чиқади

Хост номи

hostname хусусияти ёрдамида домен номини олиш мумкин:

javascriptlet res = url.hostname;
console.log(res); // 'site.ru' чиқади

Порт

port хусусияти ёрдамида портни олиш мумкин:

javascriptlet res = url.port;
console.log(res); // '3000' чиқади

Йўл

pathname хусусияти ёрдамида домен номини четлаб, йўлни олиш мумкин:

javascriptlet res = url.pathname;
console.log(res); // '/dir/eee/page.html#show?a=1&b=2&c=3' чиқади

Хеш

hash хусусияти ёрдамида хеш қийматини олиш мумкин:

javascriptlet res = url.hash;
console.log(res); // 'show' чиқади

GET параметрлар

search хусусияти ёрдамида GET параметрлар сатрини олиш мумкин:

javascriptlet res = url.search;
console.log(res); // 'a=1&b=2&c=3' чиқади

searchParams хусусияти ёрдамида GET параметрларни URLSearchParams синфи объекти кўринишида олиш мумкин:

javascriptlet res = url.searchParams;
console.log(res); // URLSearchParams синфи объекти чиқади