1. 程式人生 > 其它 >【nodejs】URL模組

【nodejs】URL模組

new URL(input, [base])

base驗證input的origin是否符合預期

let myUrl = new URL('test/index.html', 'https://example.com');
// https://example.com/test/index.html

myUrl = new URL('http://Example.com/test/index.html', 'https://example.com');
// http://example.com/test/index.html

URL格式

URL {
  href: 'http://example.com/test/index.html',
  origin: 
'http://example.com', protocol: 'http:', username: '', password: '', host: 'example.com', hostname: 'example.com', port: '', pathname: '/test/index.html', search: '', searchParams: URLSearchParams {}, hash: '' }

URLSearchParams

建立

let params;
params = new URLSearchParams('user=abc&query=xyz');
params 
= new URLSearchParams('?user=abc&query=xyz'); params = new URLSearchParams({ user: 'abc', query: ['first', 'second'] }); params = new URLSearchParams([ ['user', 'abc'], ['query', 'first'], ['query', 'second'], ]);

api

params.append('xxx', 123);
params.delete('user');
params.forEach((v, key) 
=> { console.log(v, key); }); params.get('user'); params.getAll('query'); params.has('user'); params.keys(); // 如果存在任何名稱為 name 的預先存在的名稱-值對,則將第一個此類對的值設定為 value 並刪除所有其他名稱。 如果沒有,則將名稱-值對追加到查詢字串。 params.set('user', 'def'); params.sort(); params.values(); params.toString();