url模块

作者: 静昕妈妈芦培培 | 来源:发表于2021-03-02 08:57 被阅读0次

    例:创建一个新的 URL 对象

    const {URL} = require('url')
    
    
    //创建一个新的 URL 对象。解析 URL 字符串:解析绝对的 URL
    const myURL1 = new URL('https://user:pass@sub.host.com:8080/p/a/t/h?query=string#hash');
    console.log(myURL1)
    
    //创建一个新的 URL 对象。解析 URL 字符串:解析相对的 URL, 需要在第二个参数传要解析的基本 URL
    const myURL2 = new URL('p/a/t/h?query=string#hash', 'https://user:pass@sub.host.com:8080/');
    console.log(myURL2)
    
    console.log(myURL1.searchParams.toString())
    

    执行结果:


    image.png

    例:实例化URLSearchParams对象的几种方法

    //实例化一个空的URLSearchParams对象
    const params = new URLSearchParams()
    params.append('name', 'lupeipei')
    params.append('age', 18)
    console.log(params.toString())
    
    //将 string 解析成一个查询字符串, 并且使用它来实例化一个新的 URLSearchParams 对象。 如果以 '?' 开头,则忽略.
    const myUrl = new URL('https://example.org/?abc=123')
    let search = myUrl.search
    console.log(search)
    const params1 = new URLSearchParams(search)
    console.log(params1.get('abc'))
    
    
    //通过使用查询哈希映射实例化一个新的 URLSearchParams 对象。 obj 的每一个属性的键和值都将被强制转换为字符串。
    //数组使用 array.toString() 进行字符串化时,只需用逗号连接所有的数组元素即可。
    const obj = {
        user: 'abc',
        query: ['first', 'second']
    }
    const params2 = new URLSearchParams(obj)
    console.log(params2.toString())
    console.log(params2.getAll('query'))
    
    //以一种类似于 Map 的构造函数的迭代映射方式实例化一个新的 URLSearchParams 对象。 iterable 可以是一个 Array 或者任何迭代对象。
    const array = [
        ['user', 'abc'],
        ['query', 'first'],
        ['query', 'second']
    ]
    const params3 = new URLSearchParams(array)
    console.log(params3.toString())
    
    // 使用 Map 对象。
    const map = new Map();
    map.set('user', 'abc');
    map.set('query', 'xyz');
    const params4 = new URLSearchParams(map);
    console.log(params4.toString());
    
    

    执行结果:


    image.png

    相关文章

      网友评论

          本文标题:url模块

          本文链接:https://www.haomeiwen.com/subject/ishtqltx.html